当值重复时,仅从2个表中选择1

时间:2017-08-31 03:12:54

标签: sql

我有这样的表信息:

表A:

001, YANDI, Jl damar
002, YAYA,  jl Selir
004, Nana , jl manggis

表B:

003, maman, jl sehat
001, Yandi, jl damar

我想:

001, Yandi, jl damar
002, yaya,  jl selir
003, Maman, Jl sehat
004, Nana,  jl manggis

我正在使用

select distinct a.id, b.name from a as a join b as b on a.id= b.id 

但无效

2 个答案:

答案 0 :(得分:1)

尝试这样的事情:

SELECT * FROM TABLE_A
UNION
SELECT * FROM TABLE_B

“联盟”强制结果是独一无二的。如果您不想要独特的结果,那么您将使用“union all”。

答案 1 :(得分:0)

SELECT
  id,
  name
FROM Table_3
UNION
SELECT
  id,
  name
FROM Table_4;

'*'表示表中的“所有列”将显示在输出中。

如果要在输出中显示特定字段,则

SELECT
  column_name1,
  column_name2,
  column_name3
FROM table_name;

在Sq-server中,

这可以用来找出Table_A和Table_B之间的区别

(   SELECT * FROM Table_A
    EXCEPT
    SELECT * FROM Table_B)  
UNION ALL
(   SELECT * FROM Table_B
    EXCEPT
    SELECT * FROM Table_A)