具有UNION或INTERSECT的SQL查询
我有两个SQL表,如下所示,需要对数据运行一些测试和查询。这些表格包含一些示例数据:具有UNION或INTERSECT的SQL查询,sql,sql-server,sql-server-2005,Sql,Sql Server,Sql Server 2005,我有两个SQL表,如下所示,需要对数据运行一些测试和查询。这些表格包含一些示例数据: Table A ID groupName value id2000 groupA 1 id2000 groupA 2 id2000 groupA 3 id3000 groupB 1 id3000 groupB 2 Table B ID groupNameB valueB id2000 gro
Table A
ID groupName value
id2000 groupA 1
id2000 groupA 2
id2000 groupA 3
id3000 groupB 1
id3000 groupB 2
Table B
ID groupNameB valueB
id2000 groupA 1
id2000 groupA 2
id2000 groupA -9
id3000 groupB 1
id3000 groupB -9
这些表是相似的,但实际上是不同的(它们有不同的数据,我只是为了堆栈溢出而缩短了它)
我需要的是一年,将两者结合起来,但给出表a中的值,而不是表B中的值
因此,使用上述数据,我将得到以下结果集:
id2000 groupA 3
id3000 groupB 2
我想这就像是一个非工会?你想使用的工会
它从第一个查询中删除第二个查询中的行。它不会返回query2中不在query1中的行
select id, groupName, value
from tableA
except
select id, groupNameB, valueB
from tableB
你想用
它从第一个查询中删除第二个查询中的行。它不会返回query2中不在query1中的行
select id, groupName, value
from tableA
except
select id, groupNameB, valueB
from tableB
你想用
它从第一个查询中删除第二个查询中的行。它不会返回query2中不在query1中的行
select id, groupName, value
from tableA
except
select id, groupNameB, valueB
from tableB
你想用
它从第一个查询中删除第二个查询中的行。它不会返回query2中不在query1中的行
select id, groupName, value
from tableA
except
select id, groupNameB, valueB
from tableB
如果我理解正确,这将起作用。至少我的样本数据是这样的
select Id, groupName, value
FROM tableA
EXCEPT
select Id, groupName, value
FROM tableB
如果我理解正确,这将起作用。至少我的样本数据是这样的
select Id, groupName, value
FROM tableA
EXCEPT
select Id, groupName, value
FROM tableB
如果我理解正确,这将起作用。至少我的样本数据是这样的
select Id, groupName, value
FROM tableA
EXCEPT
select Id, groupName, value
FROM tableB
如果我理解正确,这将起作用。至少我的样本数据是这样的
select Id, groupName, value
FROM tableA
EXCEPT
select Id, groupName, value
FROM tableB
连接了这两个表,但给出了表A中的值,而不是表B中的值
描述了外部连接和WHERE。使用外部连接并使用WHERE表B限制如何。[任何列]=null?编辑:@RobertHarvey-gg,比我快:)这不是一个计数。它们在ID和groupName上相关。@chris-和value;别错过了!您应该确保没有多个行也具有相同的(id、组、值)元组-如果有,它们可能会造成相当多的麻烦。一些ddl和示例数据如何?您说您的ID列是PK,但根据您的示例数据,这显然是不可能的。我的最佳猜测是,您希望在id和值上有一个左连接,其中b.value为null将这两个值连接起来,但给出了表a中的值,而不是表b中的值
描述了一个外部连接和一个where。使用外部连接和使用where表b进行限制如何。[任何列]=null?编辑:@RobertHarvey-gg,比我快:)这不是一个计数。它们在ID和groupName上相关。@chris-和value;别错过了!您应该确保没有多个行也具有相同的(id、组、值)元组-如果有,它们可能会造成相当多的麻烦。一些ddl和示例数据如何?您说您的ID列是PK,但根据您的示例数据,这显然是不可能的。我的最佳猜测是,您希望在id和值上有一个左连接,其中b.value为null将这两个值连接起来,但给出了表a中的值,而不是表b中的值
描述了一个外部连接和一个where。使用外部连接和使用where表b进行限制如何。[任何列]=null?编辑:@RobertHarvey-gg,比我快:)这不是一个计数。它们在ID和groupName上相关。@chris-和value;别错过了!您应该确保没有多个行也具有相同的(id、组、值)元组-如果有,它们可能会造成相当多的麻烦。一些ddl和示例数据如何?您说您的ID列是PK,但根据您的示例数据,这显然是不可能的。我的最佳猜测是,您希望在id和值上有一个左连接,其中b.value为null将这两个值连接起来,但给出了表a中的值,而不是表b中的值
描述了一个外部连接和一个where。使用外部连接和使用where表b进行限制如何。[任何列]=null?编辑:@RobertHarvey-gg,比我快:)这不是一个计数。它们在ID和groupName上相关。@chris-和value;别错过了!您应该确保没有多个行也具有相同的(id、组、值)元组-如果有,它们可能会造成相当多的麻烦。一些ddl和示例数据如何?您说您的ID列是PK,但根据您的示例数据,这显然是不可能的。我的最佳猜测是,您希望在id和value上有一个左连接,其中b.value为null