SQL高手进
我遇到一个查询,A表是基础表,B表是从基础表读取的部分数据
大致结构如下:
A:
id
desc
....
B:
id
a_id (取值从A表中ID获得)
我想构造一个查询,查询结构和A表类似,只是多了一个字段用于标识如果在B中已经存在A中的记录,就填充,否则就置为false
高手们,请问我该怎么做?
好像以前做过,一时想不起来了,指点指点!
------解决方案--------------------Select
A.*,
(Case When B.a_id Is Null Then 'false ' Else Rtrim(B.id) End) As a_id
From
A
Left Join
B
On A.id = B.a_id
------解决方案--------------------select id,a_id,case when A.id is null then 'false ' else '填充值 ' end as 列1
from B
left join A on A.id=B.a_id
------解决方案--------------------通常用exists做判斷,但是用關聯的效率更優一些。
修改下上面的bug
Select
A.*,
(Case When B.a_id Is Null Then 'false ' Else Rtrim(B.a_id) End) As a_id
From
A
Left Join
B
On A.id = B.a_id