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

表A如下字段id数据aaabbbcccddd表B如下字段id数据aaa&#... 表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
展开
 我来答
仁昌爱娱乐
高粉答主

2020-01-08 · 专注关心娱乐
仁昌爱娱乐
采纳数:760 获赞数:459760

向TA提问 私信TA
展开全部

工具/材料: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、最后在窗口中,显示是否存在另一个表中的表数据。

xu3180497
推荐于2017-11-26 · TA获得超过1659个赞
知道小有建树答主
回答量:390
采纳率:66%
帮助的人:189万
展开全部

只需判断一下即可,根据你的题目意思应该是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
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿咕噜
2014-07-30 · 从互联网慢慢上岸的程序员
阿咕噜
采纳数:107 获赞数:350

向TA提问 私信TA
展开全部
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的没有出来..
追答

我的都可以

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
零点小马哥哥
2014-07-30
知道答主
回答量:5
采纳率:0%
帮助的人:6514
展开全部
看上去就头痛
追问
- - 就是判断表中数据是否存在另一个表,并显示出来是或否的结果..
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式