表A如下
字段 id
数据 aaa
bbb
ccc
ddd
表B如下
字段 id
数据 aaa
bbb
查询显示表a如下, 并多显示一列flag (如果a中的数据b中有则显示1, 没有显示0)
id flag
aaa 1
bbb 1
ccc 0
ddd 0
工具/材料:Management Studio。
1、首先在桌面上,点击“Management Studio”图标。
2、其次在窗口中,点击“新建查询”按钮。
3、接着在窗口中,输入判断表数据是否存在另一个表中的SQL语句“select test1.no from test1 where EXISTS(select * from test2 where test1.no=test1.no)”。
4、再者在窗口中,点击“执行”按钮。
5、最后在窗口中,显示是否存在另一个表中的表数据。
温馨提示:答案为网友推荐,仅供参考
第1个回答 推荐于2017-11-26
只需判断一下即可,根据你的题目意思应该是a表的id和b表的id相关联。
select *, case when (select count(*) from b where id = a.id)>0 then 1 else 0 end as flag from a如果你是想a表和b表的字段和id这两列都一样,才将flag显示为1的话,用下面的查询:
select *, case when (select count(*) from b where id = a.id and 字段 = a.字段)>0 then 1 else 0 end as flag from a本回答被提问者采纳第2个回答 2014-07-30
select a.id,b.id,case when a.id=b.id then 1 else 0 end as falg from Af a left join B b on a.id=b.id
ORACLE写法追问
ORACLE写法追问
查出来只显示flag是1的
0的没有出来..
我的都可以
第3个回答 2014-07-30
看上去就头痛追问
- - 就是判断表中数据是否存在另一个表,并显示出来是或否的结果..