2016-08-01 15 views
0

SQL - 檢查記錄存在於第二表和結果顯示在主表作爲單獨的列SQL - 檢查記錄存在於第二表,並在主表作爲單獨的列中顯示的結果

我有2個表TAB1和TAB2如下:

TAB1

Sid Sname Svalue 
=================== 
1 Joe  22 
2 Derk 30 
3 Derk1 40 

TAB2

id name SID 
=================== 
1 Joe  2 
2 Derk 3 

結果應顯示爲:

Sid Sname Svalue Status 
============================ 
1 Joe  22  false 
2 Derk 30  true 
3 Derk1 40  true 

任何人都可以構建查詢?

回答

1
SELECT t1.Sid, t1.Sname, t1.Svalue, CASE WHEN t2.SID IS NULL THEN 'False' ELSE 'True' END AS Status 
FROM Tab1 t1 
LEFT OUTER JOIN Tab2 t2 
    ON t1.SID = t2.SID 
0
select 
siid,sname,svaluee, 
case when b.svalue is null then 'False' else 'true' end as status 
from #t1 t1 
outer apply 
(
select t2.siid from #t2 t2 where t1.siid=t2.siid) b(svalue) 

輸出:

siid sname svaluee status 
1  Joe  22  False 
2  Derk 30  true 
3  Derk1 40  true 
相關問題