sql语句两表查询,但是有部分重复结果,想让相同部分只显示一条,怎么写?
譬如表1abc表2cde123345121146123345224146125448查询abcdewhere表1.c=表2.c得到结果123451234512146224...
譬如 表1 a b c 表2 c d e
1 2 3 3 4 5
1 2 1 1 4 6
1 2 3 3 4 5
2 2 4 1 4 6
1 2 5 4 4 8
查询 a b c d e where 表1.c=表2.c 得到 结果 1 2 3 4 5
1 2 3 4 5
1 2 1 4 6
2 2 4 4 2
1 2 1 4 6……
我实际想得到去掉重复部分只显示一条的结果 1 2 3 4 5
2 2 4 4 2
1 2 1 4 6 展开
1 2 3 3 4 5
1 2 1 1 4 6
1 2 3 3 4 5
2 2 4 1 4 6
1 2 5 4 4 8
查询 a b c d e where 表1.c=表2.c 得到 结果 1 2 3 4 5
1 2 3 4 5
1 2 1 4 6
2 2 4 4 2
1 2 1 4 6……
我实际想得到去掉重复部分只显示一条的结果 1 2 3 4 5
2 2 4 4 2
1 2 1 4 6 展开
6个回答
展开全部
很显然,用DISTINCT去掉重复记录
select DISTINCT a,b,表1.c,d,e from 表1,表2 where 表1.C=表2.C
select DISTINCT a,b,表1.c,d,e from 表1,表2 where 表1.C=表2.C
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SELECT tableA.*, tableB.* FROM 表1 tableA LEFT JOIN 表2.tableB
ON tableA.c=tableB.c;
直接用where会得到一个笛卡尔乘积 匹配所有相等的情况 相当于 inner join
这里改成 LEFT JOIN 应该好点
ON tableA.c=tableB.c;
直接用where会得到一个笛卡尔乘积 匹配所有相等的情况 相当于 inner join
这里改成 LEFT JOIN 应该好点
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用distinct 来去重呀
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
leeyige 的做法正确!可行....已测试,楼主可以使用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
group by a, b ,c ,d, e
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询