테이블을 표시하기 위해 내 웹 사이트에 구현 될 SQL 쿼리로 작업하고 있습니다. 이 특정 쿼리는 하나의 표 셀에 셀 수를 채 웁니다.두 개의 필터를 사용할 때 SQL 쿼리가 작동하지 않습니다.
아래의 마지막 INNER JOIN 덕분에 기본 키 (column1)가 표 5에서 3 번 미만으로 발견되면 행을 계산합니다. 여기까지 쿼리가 완벽하게 작동합니다.
SELECT COUNT (a.column1) AS test
FROM Table1 a
INNER JOIN Table2 b ON […]
INNER JOIN Table3 c ON […]
INNER JOIN Table4 d ON […]
INNER JOIN (SELECT column1 FROM Table 5 GROUP BY column1 HAVING COUNT (column1)<3) e ON e.column1=a.column1
WHERE a.column2 IS NULL
문제점은 또한 Table5에 나타나지 않지만 (표 1에는 있음) 행을 계산하려고한다는 것입니다. 나는 일이 입수 한 현재 유일한 방법은
AND a.column1 NOT IN (SELECT f.column1 FROM Table5 f)
그러나, 그것은 단지 최종 INNER가 포함되어 있지 않습니다 가입 할 때, 나는 그것이 모두 제약 동작하지 않습니다 작동하는 다음 코드를 추가하는 것입니다. 기본적으로 요약하자면 기본 키 (column1)가 table5에서 3 번 미만으로 표시되거나 단순히 table5에없는 경우 행을 계산하도록합니다.
감사합니다.
제로가 3보다 작? –
@ PM77-1 NULL이 0이 아니기 때문에? – Lamak
@ PM77-1이 조건은 기본 키 (column1)가 table5에있는 횟수를 계산합니다. 따라서 0은 기본 키가 발견되지 않았다는 것을 의미합니다 (그러나 그 키가없는 것은 계산되지 않습니다). 이것이 내가이 문제를 처음부터 가진 이유입니다. – BillyCode