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

这里有三张桌子

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)
    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