2013-03-07 3 views
-3

누구든지이 쿼리에 어떤 문제가 있다고 말할 수 있습니까? 이 코드는 작동하지 않습니다 :mysql 쿼리에서 2 조건을 사용하는 방법은 무엇입니까?

SELECT index_no FROM test_record_tbl WHERE year='2012' and year='2013'; 

이 코드는 노력하고 있습니다 :

SELECT index_no FROM test_record_tbl WHERE year='2012' or year='2013'; 
+1

읽기, 친구 – bsiamionau

+0

당신은 당신은 어떤 오류가 발생하거나 경우 1에는 결과가 없습니다 작동하지 않는 무엇을 의미합니까? –

+0

결과가 없으면 'and'or 'or'조건에 따라 다릅니다. –

답변

2

정확하게 이해하면 20122013에 속하는 index_no 레코드를 얻고 싶습니다.

이 문제는 종종 Relational Division라고합니다. '와'& '또는'의 차이에 대한

SELECT index_no 
FROM test_record_tbl 
WHERE year IN ('2012', '2013') 
GROUP BY index_no 
HAVING COUNT(DISTINCT year) = 2 
3

년은 (아마도) 모두 2012 및 2013

을 결코 수 있고이기 때문에 당신은 실패하고 배타적 연산자입니다. 즉, 두 조건이 참이어야 true로 평가할 수 있습니다.

OR 하나 또는 다른 OR andor과 차이가 모두

+0

2012 년과 2013 년의 데이터를 가져오고 싶습니다. 두 해 모두 값을 가져 오는 방법을 변경하는 방법 –

0

을 의미한다.

할 수 있습니다 결코년 2012 년 2013 년 같은 시간에, 그러나 년 2012 또는 연도 년 중 떨어질 수 2013 첫 번째 SQL 쿼리는 어떤 결과를 가져없는 이유

, 두 번째 동안 그랬어.

관련 문제