2014-05-12 2 views
-3

포럼을 통해 읽었지만 여러 열에 대해 기존 레코드를 확인하기위한 예제 나 대답을 찾을 수 없습니다.Sql : 3 열과 일치하는 레코드가 있는지 제대로 확인하는 방법

질문 : 3 열과 일치하는 항목이 있는지 확인하십시오. 2 열 항목 일치가 기존 레코드로 계산되지 않으면 표에 9 열이 있습니다.

+0

... – sumit

+0

querry하려고하는 테이블의 예는 무엇입니까? 시도한 모든 실패한 시도? – Sventimir

+0

com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException : 'PRIMARY'키에 대해 'XXX'중복 항목이 발생했습니다. – newbieprogrammer

답변

1
SELECT COUNT(id) AS existing_row_count FROM tablename WHERE col1 = ? AND col2 = ? AND col3 = ? 

existing_row_count가 0보다 큰 값을 반환하면 일치 항목이 하나 이상 있다고 말할 수 있습니다. 이것을 시도해 볼 수도 있습니다 :

SELECT id FROM tablename WHERE col1 = ? AND col2 = ? AND col3 = ? 

따라서 일치하는 행 ID 번호를 얻을 수 있습니다. 그리고 두 쿼리를 결합하면

SELECT id, COUNT(id) AS existing_row_count FROM tablename WHERE col1 = ? AND col2 = ? AND col3 = ? 
+0

그 3 열은 기본 키이고 그 중 하나라도 일치하면 오류가 발생합니다. 중복 된 오류가 발생합니다. 등록 – newbieprogrammer

+0

귀하의 질문에서 이해할 수있는 한, 나는 이것을 제안 할 수 있습니다. 당신이 당신의 테이블의 일부분이나 구조를 공유했다면 나는 더 많이 말했을 것입니다. 당신은 저를 어두운 방으로 밀어 넣고 완벽한 차를 디자인하길 원합니다. – zkanoca

관련 문제