2012-06-28 2 views
5

동일한 표의 두 열을 비교하고 싶습니다. 두 개의 열이 같은 값을 갖는 모든 행을 반환 할 수 있기를 원합니다.같은 테이블에있는 두 개의 열을 어떻게 비교합니까?

나는 SELECT * FROM FOO WHERE C1 = C4과 같은 것을 찾고 있습니다. 이 중요한 경우,

C1 || C2 || C3 || C4 
-------------------------- 
1  || a || b || 1 
2  || a || b || 4 
3  || b || d || 2 
4  || b || d || 2 

나는 SQLite (더 구체적으로 WebSQL) 사용하고 있습니다 :

따라서 예 난 단지 첫 번째 행을 반환 아래.

+8

SELECT * FROM COO = C4가 작동해야합니다. 그렇지 않습니까? 그렇지 않은 경우 동일한 데이터 유형 및 길이입니까? 변환해야 할 수도 있습니다. WebSql에 대해서는 잘 모르겠지만, 같은 값을 가지고 있어도 하나가 varchar (5)이고 다른 하나가 varchar (10) 인 경우 일치하지 않는 일부 DB 시스템을 보았습니다. 이러한 시스템에서는 Convert (varchar, 10, FieldName)를 사용하여 일치 항목을 가져와야합니다. – David

+0

@DavidStratton 얼마나 당황 스럽습니까! 그것은 완벽하게 작동합니다. 나는 where 절에서 select를 감싸려고했다. 지금까지 멍청한 질문. – JonWells

+6

전혀 없습니다. 우리 모두는 그런 일을합니다. – David

답변

9

SELECT * FROM FOO WHERE C1 = C4. 그렇지 않습니까?

그렇지 않으면 데이터 유형과 길이가 동일합니까? 변환해야 할 수도 있습니다.

WebSql에 대해서는 잘 모르겠지만 동일한 값을 갖고 있어도 하나가 varchar (5)이고 다른 하나가 varchar (10) 인 경우 일치하지 않는 일부 db 시스템을 보아 왔습니다. 그런 시스템에서는

Convert(varchar, 10, FieldName) 

과 같은 것을 사용해야합니다.

관련 문제