比较不同表中的2行,如果相似则更新

时间:2014-10-27 02:18:12

标签: sql sql-server sql-server-2008-r2

我需要有关主题标题的建议。我有一个比较两个表的查询。 表动物和表哺乳动物。现在我的查询将显示在哺乳动物中没有相似记录的所有动物行。

这是我的查询

SELECT * FROM 
(SELECT name, [group] FROM animal
 EXCEPT
 SELECT  name, [group] FROM mammal) x

动物表

enter image description here

AND 适合哺乳动物的表格

enter image description here

当我在上面运行上述查询时,结果

enter image description here

我想要反转它并显示猴子和狗而不是猫,我还想将猴子和神的状态从NULL更新为2.

关于如何实现这一目标的任何建议?

2 个答案:

答案 0 :(得分:2)

SELECT * FROM 

        (SELECT name, [group] FROM animal

        intersect

        SELECT name, [group] FROM mammal) x;

答案 1 :(得分:1)

试试这个

select a.name,a.[group],2 as [status] from animal a
where exists(select * from mammal b where b.name = a.name and b.[group]=a.[group])