SQL语句合并相同项
从两张表中查询数据结果有重复怎么合并selectA.年龄,A.姓名whereA.年龄=B.年龄结果A.年龄A.姓名20张三20张三21李四从两张表中查询数据结果有重复怎么...
从两张表中查询数据结果有重复怎么合并
select A.年龄,A.姓名 where A.年龄=B.年龄
结果
A.年龄 A.姓名
20 张三
20 张三
21 李四
从两张表中查询数据结果有重复怎么合并
select A.年龄,A.姓名 From A,B where A.年龄=B.年龄
结果
A.年龄 A.姓名
20 张三
20 张三
21 李四
希望结果
A.年龄 A.姓名
20 张三
21 李四 展开
select A.年龄,A.姓名 where A.年龄=B.年龄
结果
A.年龄 A.姓名
20 张三
20 张三
21 李四
从两张表中查询数据结果有重复怎么合并
select A.年龄,A.姓名 From A,B where A.年龄=B.年龄
结果
A.年龄 A.姓名
20 张三
20 张三
21 李四
希望结果
A.年龄 A.姓名
20 张三
21 李四 展开
3个回答
展开全部
你的语句条件不完整,只用“年龄”关联B表是不够准确的,如果B表中有姓名,需要把姓名也加上,这样写:
select A.年龄,A.姓名 From A,B where A.姓名=B.姓名 and A.年龄=B.年龄;
如果B表中不存在“姓名”,并且A表中“年龄”,“姓名”组合唯一,那么语句改成如下写法就能避免重复,而且效率会高些。
select A.年龄,A.姓名 From A where exists (select 1 from B where A.年龄=B.年龄);
select A.年龄,A.姓名 From A,B where A.姓名=B.姓名 and A.年龄=B.年龄;
如果B表中不存在“姓名”,并且A表中“年龄”,“姓名”组合唯一,那么语句改成如下写法就能避免重复,而且效率会高些。
select A.年龄,A.姓名 From A where exists (select 1 from B where A.年龄=B.年龄);
更多追问追答
追问
怎样让查询结果中没有重复的行呢?
如
列1 列2 列3
1 2 2
1 2 3
1 2 2
2 3 4
2 3 4
2 4 4
查出
1 2 2
1 2 3
2 3 4
2 4 4
追答
列1,列2,列3是一个表里的吗,如果是,distinct就行了。、
但是你上面的提问不是说A表中没有重复数据吗?你的查询到底是哪里有问题,是表中有重复还是多表关联后查询记过重复?
展开全部
select distinct A.姓名, A.年龄 from A 表 where A.年龄=B.年龄
更多追问追答
追问
A表中没有重复,那是举得例子,B表中也没有重复的行,但是联合查询后结果有重复
追答
姓名总是唯一的吧,姓名前加DISTINCT
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用group by
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |