2014-09-29 75 views
0

我想知道是否有人曾經處理類似的問題。我正在嘗試從傳入數據庫的舊數據庫中提取數據。出於某種原因,作者認爲複製記錄是一個好主意。所以我處理的報價表如下所示:在數據庫中重複記錄

id  code  quote_no    client 
1  A  Qte 2013/001-A  John Smith 
2  A/B Qte 2013/002-A/B  Mark Brown 
3  A  Qte 2013/002-A  Mark Brown 
4  B  Qte 2013/002-B  Mark Brown 

沒有什麼東西直接表明id2,3,4屬於一起。代碼是指部門。

我想分開獨特的和'複合'的記錄,如Qte 2013/002-A/B和Qte 2013/001-A。基本上要得到一個quote_no每個唯一的數字quote_no。任何想法將不勝感激。

+0

整個表格中quote_no('Qte ****/*** - ***)'的格式是否保持不變? – 2014-09-29 15:03:56

+0

目前還不完全清楚輸出應該是什麼。您可以發佈重複數據刪除行集應該是什麼樣子的樣本嗎? – 2014-09-29 15:04:12

+0

格式大多保持不變。我後面的輸出是id 1和2.沒有像id 3和4的'sub-quotes'重複。希望這更有意義。 – 2014-09-29 15:08:59

回答

2

假設quote_no具有固定格式,您可以在quote_no的子字符串上對GROUP()進行GROUP()並獲取所有記錄及其各自的計數。

從那裏,它應該與原始表聯接,刪除所有重複行,其中WHERE條件(代碼LIKE'/'或count = 1)分別用於查找化合物和唯一記錄。

SQLfiddle demo

+0

它的工作輝煌。謝謝。 – 2014-09-29 15:59:16