2017-02-08 72 views
0

自从使用SSRS和SQL以来已经有好几年了,所以我对此补救措施和措辞不佳的问题事先表示歉意。将多个表列添加到多个表中

我有一个表,事件,其中包括2列,开瓶器和所有者(都是整数)。这些列与用户表相关,我想从中检索用户名。我可以加入这些表格,但是我如何才能获取用户名作为首选项和所有者,以便将其包含在我的报告中?

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

您将为每个ID加入一次用户表。如果ID可能丢失,请将它们更改为左连接。

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