0
我有3個表如下所示:正確的方式來寫一個SQL查詢到兩個結果集符合條件結合起來,給人一種獨特的名單後面
tbl_risk(risk_ID,標題)
tbl_approval_history(approval_ID, risk_ID,STATUS_ID,approver_ID)
tbl_users(user_ID的,用戶名)
一個風險可以有不同的狀態很多審批歷史記錄條目。我需要一個查詢將返回與柱認可風險的不同列表,所以輸出
risk_ID,標題,Approved_by_username
但我只想當STATUS_ID是一個特定的值Approved_by_username欄填寫。例如5.否則,該值應該是空的
任何人都可以建議實現這一目標的最佳方法?我曾嘗試以下(不添加用戶名還),似乎並不十分有效?:
select tbl_risk.risk_ID,
tbl_risk.title,
0 as Approver_ID
from dbo.tbl_risk
union all
select distinct tbl_risk.risk_ID,
tbl_risk.title,
tbl_Approval_History.Approval_ID as Approver_ID
from dbo.tbl_risk
,dbo.tbl_Approval_History
where dbo.tbl_Approval_History.risk_ID = tbl_risk.risk_ID
and dbo.tbl_Approval_History.Status_ID = 5
任何幫助是極大的讚賞。
非常感謝Gordon的幫助,如果我有一個名爲tbl_Users的表有一個列:User_ID和username,我該如何修改您的解決方案以返回此用戶名而不是approver_ID?再次感謝 – Captain10
@ Captain10的幫助。 。 。這隻需要對'tbl_Users'進行額外的'left join'。 –