2015-08-20 7 views
-4

Допустит, у меня есть одна таблицы, как показано ниже:SQL запрос, чтобы получить данные из двух таблиц

Create table tblEvents 
(
Eventid int primary key, 
EventName nvarchar(20), 
UserId nvarchar(5) 
) 

и второй стол, как:

Create table tblUsers 
(
Id int primary key, 
UserId nvarchar(5), 
Username nvarchar(20), 
) 

Как я могу получить новую таблицу (или результат) который объединил результаты обоих. Меня беспокоит только tblEvents, который должен просто показать UserName из tblUsers, где Userid (из tblEvents) равен UserId (из tblUsers). Таким образом, конечный результат должен быть в нижнем формате:

EventId | EventName | UserId | UserName 
--------|-----------|--------|--------- 
     |   |  | 

где UserName исходит от tblUsers. Я не могу изменить первичные ключи на любой из таблиц.

Edit: UserId не INT и не могут быть использованы в качестве первичных-иностранных ключей

+2

Очень простой вопрос. Найдите 'INNER JOIN' –

+0

https://technet.microsoft.com/en-us/library/ms191517(v=sql.105).aspx –

+0

Исключительно базовый SQL-запрос. По крайней мере, вы должны изучить основы SQL, прежде чем использовать StackOverflow, чтобы задать такие вопросы. –

ответ

0

Просмотрите внутреннее соединение в SQL и попробуйте выполнить запрос ниже.

SELECT tblEvents.Eventid, tblEvents.EventName, tblEvents.UserId ,tblUsers. UserName 
FROM tblEvents INNER JOIN tblUsers ON tblEvents.UserId=tblUsers.UserId 
0

Запрос:

select 
    e.Eventid, 
    e.EventName, 
    e.UserId, 
    u.Username 
from tblEvents e 
join tblUsers u on e.UserId = u.UserId 

Если вы хотите создать новую таблицу из этого тогда:

select 
    e.Eventid, 
    e.EventName, 
    e.UserId, 
    u.Username 
into new_table 
from tblEvents e 
join tblUsers u on e.UserId = u.UserId 

Вы можете узнать больше о creating table с использованием intohere

1

Это будет работать. Используйте простой INNER JOIN.

SELECT te.EventId , te.EventName , te.UserId , tu.UserName 
FROM tblEvents te 
INNER JOIN tblUsers tu ON te.UserId=te.UserId 
Смежные вопросы