sql语句两表查询,但是有部分重复结果,想让相同部分只显示一条,怎么写?

譬如 表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个回答  2013-03-29
很显然,用DISTINCT去掉重复记录
select DISTINCT a,b,表1.c,d,e from 表1,表2 where 表1.C=表2.C
第2个回答  2013-03-29
SELECT tableA.*, tableB.* FROM 表1 tableA LEFT JOIN 表2.tableB
ON tableA.c=tableB.c;

直接用where会得到一个笛卡尔乘积 匹配所有相等的情况 相当于 inner join
这里改成 LEFT JOIN 应该好点
第3个回答  2013-03-29
用distinct 来去重呀
第4个回答  2013-03-29
leeyige 的做法正确!可行....已测试,楼主可以使用
第5个回答  2013-03-29
group by a, b ,c ,d, e
相似回答