我有2张这样的表:
表1:
CatID Name
----- ----
1 A
2 B
3 C
表2:
ID CatID
--- -----
1 1
2 1
3 1
4 3
表2 CatID与table1 CatID相同。
我想要一个显示First表的查询,如果第二个表中存在CatID,则显示另一列为True,否则为False。上表的输出应为:
CatID Name Result
----- ---- ------
1 A True
2 B False
3 C True
答案 0 :(得分:5)
您可以使用CASE
和EXISTS
:
SELECT CatID,
Name,
Result = CASE WHEN EXISTS(SELECT 1
FROM Table2 t2
WHERE t2.CatID=t1.CatId)
THEN 'True' ELSE 'False' END
FROM Table1 t1
答案 1 :(得分:0)
select distinct A.CARDID, NAME, CASE WHEN ISNULL(B.CARDID, 0)=0 THEN 'FALSE'
ELSE 'TRUE' END
FROM table1 A
LEFT JOIN table2 B
on A.CARDID = B.CARDID