2017-07-25 181 views
-1

我在SQL服務器中有五個連接的表,其中一些表具有重複的值。 我有一些表中應該省略一些行。這是我的表:在sql中省略重複的行

ID mobile Email     phone 
1 12345 [email protected]   015656 
2 12345       
3 78948 [email protected]   021548 
4 89563       021265 

你可以看到,第一行和第二行有相同的手機號碼,而電子郵件或電話不要對他們倆的存在。 我想編寫一個代碼,其中找到重複的手機號碼,然後通過電子郵件發送電話進行檢查,如果電子郵件和電話相同,則應刪除第二行。如果電子郵件和電話不存在,則刪除僅含手機號碼的第二行。

回答

0

您的問題似乎包含大部分關於如何對其進行編碼的答案。也許你缺少的是如何查找重複行的SQL。我想你想要的東西,如:

SELECT phone 
FROM table_name 
GROUP BY phone 
HAVING count(phone) > 1 

這會給你重複的電話號碼,然後就可以遍歷和修復

+0

在下一步的電子郵件列應進行檢查。我如何檢查這些值然後忽略它們? – tanin

+0

我會編寫代碼來確定您想要的值,然後更新其中一行以獲得完整的值集合,然後刪除其他值。隨時清理您的數據。否則,我會加載所有的數據到一個字典,更新那裏的值,然後用它作爲顯示源。你如何實現它取決於你,但你不能指望人們爲你編寫任意超級特定的代碼 - 你可以編寫一個解決方案,或者你不能 –