如何从表1和表2中获取不常见的值
我只想从表1中获取与表2相关的常见值,如下图所示。
如何,如下面图片中所示的结果显示我少见值
这是我使用的查询,但它如我所料如何从表1和表2中获取不常见的值
select * from t1.* from Table1 t1 inner join Table2 t2 on t1.Name <> t2.Name
不显示结果
SELECT * FROM TableA
FULL OUTER JOIN TableB
ON TableA.name = TableB.name
WHERE TableA.id IS null
OR TableB.id IS null
在的情况下,外连接少见行不存在在其他各行中产生一个NULL字段。我们基本上这样选择它。
感谢它的工作 – user6503334
使用Except
和Union All
。不知道为什么"SQL 2K12"
是结果,因为它存在于两个表
select col from table1
except
select col from table2
Union all
select col from table2
except
select col from table1
i updated image – user6503334
我收到错误消息:消息205,级别16,状态1,行1 所有使用UNION,INTERSECT或EXCEPT运算符组合的查询在其目标列表中必须具有相同数量的表达式。 – user6503334
@ user6503334 - 您如何在原始查询中进行替换。 select中的列数应该相同也应该键入兼容 –
Select col
From (
Select col from Table1
Union All
Select col from Table2
) A
Group By col
Having count(*)=1
这是根据你的例子另一种选择
SELECT * -- or SELECT COALESCE(t1.Name,t2.Name) As Name
FROM
Table1 t1
FULL OUTER JOIN Table2 t2 ON t1.Name = t2.Name
WHERE
t1.Name IS NULL OR t2.Name IS NULL;
如果有两个表中只有一列(或两个表具有相同的列),如果你不希望这些列重复
SELECT *
FROM
Table1
UNION
SELECT *
FROM
Table2
EXCEPT
(
SELECT *
FROM
Table1
INTERSECT
SELECT *
FROM
Table2
)
请解释逻辑。为什么“SQL 2K12”的结果? –
http://meta.*.com/questions/285551/why-may-i-not-upload-images-of-code-on-so-when-asking-a-question/285557#285557 –