我试图以某种方式将这些选择状态的结果合并为一个 我在存储过程table1,table2
中有两个临时表有人可以帮我把输出设置看起来像这样, Table1是基表。考虑Table1中的第一行,Id = 1001。 如果表2中存在此Id = 1001,则id = 1001的最终输出应具有Isselected = true并从表2中获取值 如果它不存在则按原样保留。
我脑子里有些东西,却无法让它发挥作用。使用CTE,Case,coalesce ??
Table1
id Name isselected userdefine1 userdefine2
1001 name1 0
1002 name2 0
1003 name3 0
Table2
id userdefine1 userdefine2
1001 helloworld helloworld2
Final Output
id Name isselected userdefine1 userdefine2
1001 name1 1 helloworld helloworld2
1002 name2 0
1003 name3 0
答案 0 :(得分:0)
只需LEFT JOIN
CASE
语句围绕isselected
发表{/ 1}}声明:
SELECT tbl1.Id,
tbl1.Name,
CASE WHEN tbl2.Id IS NULL THEN 0 ELSE 1 END as isselected,
tbl2.userdefine1,
tbl2.userdefine2
FROM tbl1
LEFT JOIN tbl2 ON tbl1.Id = tbl2.Id