14
|
John Saunders Andrey Morozov · 技术社区 · 14 年前 |
1
2
为什么不创建另一个表表达式来覆盖更多的字段并加入到该表表达式中?
|
2
4
你可以把表连接起来,说D都相等,而C至少有一个不相等。
给出以下结果:
还请注意,这与MS SQL 2000兼容,正如您稍后在 How to Convert a SQL Query using Common Table Expressions to One Without (for SQL Server 2000) . |
3
3
我还没有机会尝试康拉德的答案,但我自己想出了一个。这是一个相当“糟糕”的时刻。 因此,如果要查找集合A中除集合B中的行以外的所有行,可以使用except运算符:
这似乎向我展示了1500行,它们是跨(D1,D2,D3)复制的,但它们只是跨(D1,D2,D3,C4,C5,C6)子集复制的。事实上,它们似乎是重复的(D1、D2、D3、C4、C5)。 如何确认这一点将是另一个问题的主题。 |
4
2
这会有性能限制,但更容易理解:
无法在SQL Server上测试,希望语法正确。 同样,不确定您是否在SQL Server中有分析功能,但这一功能在Oracle中工作,可能更快:
想把它归结为一个单一的查询。。。。 |
5
2
我知道这是一个老问题,但是我看到了这个问题的活动,我经常使用的技巧并没有作为答案呈现在这里,它非常简单,所以我想我会呈现它。
这将在键上显示重复项的所有键,但在非键上显示差异,并显示差异重复项的范围。 要查看其中的所有行,您需要将其连接回BAD_TABLE,作为原始问题中的示例。 |
Jack Skeletron · T-SQL三表求和 6 年前 |
CSK · 列出sql server中存储过程中的存储过程 6 年前 |
DRT · 从文本字段中提取多个日期 6 年前 |
ihatemash · 确定可以合并哪些行的SQL查询 6 年前 |
Shawn · 使用WinZip命令行的SQL Server作业 6 年前 |