sql leftjoin多表查询,出现重复的数据,怎么办

如题所述

SQL codeCREATE TABLE #A表
(ID INT,
TYPEA CHAR(10))
INSERT #A表
SELECT '1','1' UNION ALL
SELECT '2','1' UNION ALL
SELECT '3','2'

CREATE TABLE #B表
(ID INT,
CLASS CHAR(10))
INSERT #B表
SELECT '1','1' UNION ALL
SELECT '2','2' UNION ALL
SELECT '4','4' UNION ALL
SELECT '55','55' UNION ALL
SELECT '66','66'

CREATE TABLE #C表
(ID INT,
NAMEC CHAR(10))
INSERT #C表
SELECT '1','dfs1111d' UNION ALL
SELECT '2','kkk2Ok' UNION ALL
SELECT '3','dd3OK' UNION ALL
SELECT '1','111ddd'

DROP TABLE #b表

SELECT TOP 1 A.ID,A.TYPEA,B.CLASS,C.NAMEC
FROM #A表 A,#B表 B,#C表 C
WHERE A.ID=B.ID AND B.ID=C.ID AND A.ID='1'
/*
C表中的ID值重复了,故有两条记录
ID TYPEA CLASS NAMEC
----------- ---------- ---------- ----------
1 1 1 dfs1111d
*/
温馨提示:答案为网友推荐,仅供参考