2012-11-03 110 views
2

我有像這樣的表的數據庫SQLITE3:移除幾乎重複行

表(COM1,COM2)

A || B 
B || A 
C || D 
D || B 
B || D 

如果我有2行:甲|| B和B || A,我想刪除其中的一個(我不關心哪一個)。

因此獲得:

A || B 
C || D 
D || B 

我讀過許多詢問重複行,但我不能找到這樣的事情。謝謝你的幫助。

+0

如果您至少發佈了自己的嘗試,那麼使用代碼將會更容易。 – ghoti

回答

0

我覺得你的問題的解決方案應該是這樣的:

SELECT 
    t1.val1,t1.val2 
FROM table AS t1 
JOIN table AS t2 ON (
    (t1.val1=t2.val2) AND (t1.val2=t2.val1) 
) WHERE t1.val1<=t1.val2 

其中是你的表的名稱和VAL1VAL2是在表中的列名。

+0

sqlite3說:錯誤:沒有這樣的功能:strcmp – SomeoneMe

+0

我替換WHERE strcmp(t1.val1,t1.val2)<= 0與WHERE t1.val1 <= t1.val2,它的工作原理 – SomeoneMe

+0

對不起,我修好了現在...它應該工作(只是在我身邊測試)。數據類型在sqlite中很棘手:-) – HlavacekMichal