Man*_*tel 3 sql sql-server-2005
我有2个这样的表:
表格1:
CatID Name
----- ----
1 A
2 B
3 C
Run Code Online (Sandbox Code Playgroud)
表2:
ID CatID
--- -----
1 1
2 1
3 1
4 3
Run Code Online (Sandbox Code Playgroud)
表2 CatID与table1 CatID相同.
我想要一个查询,其中显示第一个表,其中包含一个附加列,如果第二个表中存在CatID,则表示为True,否则为False.上表的输出应为:
CatID Name Result
----- ---- ------
1 A True
2 B False
3 C True
Run Code Online (Sandbox Code Playgroud)
你可以使用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
Run Code Online (Sandbox Code Playgroud)