sql语句 判断表数据是否存在另一个表中

表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写法追问

查出来只显示flag是1的
0的没有出来..

追答

我的都可以

第3个回答  2014-07-30
看上去就头痛追问

- - 就是判断表中数据是否存在另一个表,并显示出来是或否的结果..

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网