2012-11-03 1 views
2

이 같은 테이블과 sqlite3를 데이터베이스를 가지고를 || B, B || A, 나는 그것들 중 하나를 삭제하고 싶다 (나는 어느 것이 든 상관 없다). 제거 거의 중복 행

그래서 구하는 방법

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

내가 읽은 많은 중복 행에 대해 묻는 그러나 나는 이런 식으로 뭔가를 찾을 수 없습니다. 어떤 도움을 주셔서 감사합니다.

+0

적어도 자신의 시도를 게시하면 코드를 쉽게 이해할 수 있습니다. – ghoti

답변

0

나는 당신의 문제에 대한 해결책은 다음과 같이해야한다고 생각 : 테이블이 테이블의 이름과 val1과을 val2입니다

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 

는 해당 테이블의 열 이름입니다.

+0

sqlite3 메시지 : 오류 : 해당 함수 없음 : strcmp – SomeoneMe

+0

strcmp (t1.val1, t1.val2) <= 0, WHERE t1.val1 <= t1.val2로 대체 됨, 작동 함 – SomeoneMe

+0

죄송합니다. 지금 ... 그것은 작동해야합니다 (그냥 내 편이 테스트 됨). 데이터 유형은 sqlite에서 까다 롭습니다 :-) – HlavacekMichal