2017-02-08 4 views
0

Прошло много лет с тех пор, как я использовал SSRS и SQL, поэтому заранее извиняюсь за этот исправленный и плохо сформулированный вопрос.Присоединение нескольких столбцов таблицы к нескольким таблицам

У меня есть стол, инциденты, в который входят 2 столбца, нож и владелец (оба целых числа). Эти столбцы относятся к таблице User, из которой я хочу получить имя пользователя. Я могу присоединиться к таблицам, но как я могу найти имя пользователя в качестве открывателя и владельца, чтобы включить его в свой отчет?

SELECT 
    TST_INCIDENT.OPENER_ID AS Logged_By, 
    TST_INCIDENT.OWNER_ID AS Assignee, 
    TST_INCIDENT.INCIDENT_ID AS Defect_ID, 
    TST_INCIDENT.NAME AS Defect_Title, 
    TST_INCIDENT.DESCRIPTION AS Defect_Desc, 
    TST_USER.USER_NAME 
FROM 
    TST_USER 
INNER JOIN 
    TST_INCIDENT ON TST_USER.USER_ID = TST_INCIDENT.OPENER_ID 
       AND TST_USER.USER_ID = TST_INCIDENT.OWNER_ID 
+0

В чем проблема? пожалуйста, укажите образцы данных и инструкции ddl для работы на –

ответ

0

Вы должны присоединиться к таблице пользователей один раз для каждого идентификатора. Измените их влево, если идентификаторы могут отсутствовать.

SELECT 
    TST_INCIDENT.OPENER_ID AS Logged_By 
    ,TST_INCIDENT.OWNER_ID AS Assignee 
    ,TST_INCIDENT.INCIDENT_ID AS Defect_ID 
    ,TST_INCIDENT.NAME AS Defect_Title 
    ,TST_INCIDENT.DESCRIPTION AS Defect_Desc 
    ,A.USER_NAME as OPENER_USER_NAME 
    ,B.USER_NAME as OWNER_USER_NAME 
FROM TST_INCIDENT 
INNER JOIN TST_USER A ON A.USER_ID = TST_INCIDENT.OPENER_ID 
INNER JOIN TST_USER B ON B.USER_ID = TST_INCIDENT.OWNER_ID 
+0

Хорошее горе, это было слишком просто. Как только увидел выбор, он пробежал мою память. Спасибо огромное! – Masintenn

Смежные вопросы