1
11
不要使用union,而是使用except,(或intersect只获取这两者中的记录) 如上所述 |
2
12
你可以使用 EXCEPT operator 从另一个集合中减去一个集合。下面是使用Employees和People临时表的代码示例。据我所知,您需要将字段名与except运算符一起使用。
最后一个查询将返回人员表中不存在的两行。 |
3
11
对于SQL Server来说,这可能是最有效的方法。 |
4
3
添加的不是空的,以使人们高兴。 我同意汤姆的意见。他的版本很可能更有效率。唯一可能使用我的,可能是因为它更漂亮。 |
5
1
不幸的是,您的设计有问题。 而不是两个餐桌上的人和承包商。 您应该有一个表人员和另一个表类型(如果有些人可以有多个角色,则可能需要另一个表)。 在您的人员表中,您引用了类型表。 然后你的请求变成
(未经测试) |
6
1
当我比较查找不在另一个表中的数据的表时,我通常使用SQL除法。
此查询将返回表A中未通过除法处理的结果。
此查询将返回两个表中匹配的所有数据行,因此,如果表A中有一行数据不在表B中,则不会检索该行数据。 |
7
0
我发现使用像sqlmerger这样的工具来为您完成这项工作要容易得多。结果以更好的方式显示,之后您可以轻松地继续处理您需要处理的数据。 www.auisoft.com/sqlmerge<=能够轻松比较数据的工具 比较两个表的示例: http://auisoft.com/SQLMerger/How-to/visualize-differences-in-2-databases/ |
ybou · 需要帮助从SQL 2005查询中删除过时的=*连接运算符 7 年前 |
Robert · 将多个分隔符分隔的字段视为不同的行 8 年前 |
hud · 执行存储过程会导致错误 8 年前 |
Gonzalo · 如何将存储过程的结果插入到新表中? 9 年前 |