6
A
回答
8
嘛,在某些時候你將必須檢查所有的列 - 還不如讓加盟...
DELETE a
FROM a -- first table
INNER JOIN b -- second table
ON b.ID = a.ID
AND b.Name = a.Name
AND b.Foo = a.Foo
AND b.Bar = a.Bar
應該這樣做......還有CHECKSUM(*)
,但這隻有有助於 - 您仍然需要檢查實際值以排除散列衝突。
1
我覺得下面的僞代碼會做吧..
DELETE FirstTable, SecondTable
FROM FirstTable
FULL OUTER JOIN SecondTable
ON FirstTable.Field1 = SecondTable.Field1
... continue for all fields
WHERE FirstTable.Field1 IS NOT NULL
AND SecondTable.Field1 IS NOT NULL
克里斯的INTERSECT後是更爲優雅,雖然,我會使用,在未來,而不是寫出來的所有外部的連接標準:)
0
我會嘗試一個DISTINCT查詢並做兩個表的聯合。
您可以使用像asp/php這樣的腳本語言將輸出格式化爲一系列插入語句,以便重建生成的唯一數據表。
8
如果您使用SQL Server 2005中,你可以使用intersect:
delete * from table1 intersect select * from table2
0
試試這個:
DELETE t1 FROM t1 INNER JOIN t2 ON t1.name = t2.name WHERE t1.id = t2.id
相關問題
- 1. PHP - 如何比較兩個數組並刪除重複的值
- 2. 如何比較delphi中的兩個數組,並從一箇中刪除重複
- 3. LINQ比較兩個列表並刪除
- 4. SQL:比較兩個表與重複
- 5. 比較excel中的兩個列表並刪除非java中的重複項
- 6. 比較兩個數組的數組,並刪除重複在php
- 7. 比較兩個陣列並刪除重複項
- 8. Python - 如何比較多個字典並刪除重複的值?
- 9. 如何比較兩個對象數組來刪除重複項?
- 10. 馬克並刪除重複比較
- 11. 比較2 ArrayLists並刪除重複項
- 12. 比較在Excel中兩列並刪除重複
- 13. 比較兩個Google表格,並僅複製非重複行
- 14. 比較前60個字符並刪除重複行
- 15. 比較2個文件並刪除重複行只有一次
- 16. 比較兩個不同的工作表中的兩個單元格並刪除任何重複的內容
- 17. PHP - 如何比較兩個數組並刪除重複值區分大小寫
- 18. 比較列表和刪除重複
- 19. 如何比較兩列並刪除不重疊的元素?
- 20. 比較兩個表格行並刪除匹配
- 21. 如何刪除SQL中的重複行?
- 22. 比較不同行,並刪除重複的值
- 23. 如何刪除postgres表中兩個重複條目的一行?
- 24. 比較屬性和刪除多個列表中的重複項
- 25. 比較Java中的兩個對象列表以刪除重複對象
- 26. SQL - 從表中刪除重複的行
- 27. 比較兩個IEnumerable並根據比較結果刪除/插入
- 28. 比較兩個陣列刪除重複項
- 29. 的Sql - 比較兩個表
- 30. 如何刪除兩個匹配的行,同時刪除重複
這隻要沒有任何列包含空值很好地工作。一旦發生這種情況,您必須開始處理複雜的條件,例如(a.Name = b.Name OR(a.Name IS NULL AND b.Name IS NULL))。另一個避免null的原因。 – 2009-03-02 00:39:12