0
여러 OR 문을 사용하여 하나의 SQL 문에서 쿼리를 결합 할 때 개별 OR 문에서 반환하는 레코드 수는 동일한 레코드 수를 반환하지 않습니다. 제발 누군가 조언 할 수 있니? 예를 들어SQL에서 다중 OR 조건 사용
:
$sql1 = SELECT * FROM table_1 WHERE x = '0';
$sql2 = SELECT * FROM table_1 WHERE y = '0';
$sql3 = SELECT * FROM table_1 WHERE z = '0';
결합 된 쿼리
$sql_total = SELECT * FROM table_1 WHERE x='0' OR y='0' OR z = '0';
내가 sql_total에서 돌아 오기 기록의 수는 SQL1에 의해 반환 된 레코드 수를 추가하여 반환 결합 된 기록과 다른 , sql2 및 sql3이 결합되었습니다. 내가 어디로 잘못 가고 있니?
일부 행에는 두 가지 조건이 있습니다. –
그것에 대해 생각해보십시오 : x와 y가 0 인 행이 있습니까? $ sql1, $ sql2 및 $ sql_total에 의해 각각 정확히 한 번씩 반환됩니다. –
이 SQL Fiddle : http://sqlfiddle.com/#!9/5b72e1/1을 확인하십시오. 세 개의 열 중 두 개가 '0'인 경우이 쿼리를 실행하거나 3 개의 단일 쿼리로 행 수를 계산하면 아무 것도 바뀌지 않습니다. –