Sql 如何避免查询表中的重复值
这里有三张桌子 t1: t2: t3: 下面是sql代码运行Sql 如何避免查询表中的重复值,sql,Sql,这里有三张桌子 t1: t2: t3: 下面是sql代码运行 SELECT t.id, t1.a, t2.b, t3.c FROM (((select id from t1 union select id from t2 union select id from t3 ) AS t LEFT JOIN t1 ON t.id = t1.id) LEF
SELECT t.id, t1.a, t2.b, t3.c
FROM (((select id
from t1
union
select id
from t2
union
select id
from t3 ) AS t
LEFT JOIN t1 ON t.id = t1.id)
LEFT JOIN t2 ON t.Id = t2.Id)
LEFT JOIN t3 ON t.Id = t3.Id;
得到结果并像这样重新编码重复值
id a b c
1 600 600 400
1 100 600 400
2 800 700
3 400 800
4 100
但我希望结果避免如下重复值:
Id a b c
1 100 600 400
1 600 - -
2 800 700 -
3 - 400 800
4 - - 100
请帮忙………这个怎么样
WHERE t1.a <> t2.b
AND t1.a <> t3.c
AND t2.b <> t3.c
其中t1.a t2.b
和t1.a t3.c
和t2.b t3.c
我看到了示例数据,我看到了尝试查询,我看到了结果和预期结果,但我没有看到问题…如何决定分配b和c值的id=1行?标记您正在使用的dbms。
id a b c
1 600 600 400
1 100 600 400
2 800 700
3 400 800
4 100
Id a b c
1 100 600 400
1 600 - -
2 800 700 -
3 - 400 800
4 - - 100
WHERE t1.a <> t2.b
AND t1.a <> t3.c
AND t2.b <> t3.c