하위 쿼리에는 항상 내 쿼리에 결과가 있습니다.
P粉677684876
P粉677684876 2023-09-11 22:06:01
0
1
489

MySQL에는 두 개의 테이블이 있습니다:

표 1 - 작업 순서

ID 수량
1 2
2 1

표 2 - ITEMSINWORKORDERS

ID 작업주문
1 1
2 1
3 2

질문이 있습니다:

으아악

원래는 명령문에서 왼쪽 외부 조인을 사용하고 있었기 때문에 빈 집합을 얻기 위해 내부 조인으로 변경했습니다. 항목이 누락된 작업 주문이 없는 경우 빈 세트를 반환하도록 하려면 어떻게 해야 합니까?

이 쿼리의 목적은 모든 항목이 입력되지 않았고 WORKORDERS 테이블에 입력된 명목 수량이 해당 작업 주문에 해당하는 ITEMSINWORKORDERS 레코드의 수량보다 큰 모든 작업 주문을 찾는 것입니다. 빈 세트가 반환될 것으로 예상했습니다. 그런데 실제로 제가 얻은 것은

ID NOMINAL_QTY ENTERED_QTY
NULL NULL 0

원래는 명령문에서 왼쪽 외부 조인을 사용하고 있었기 때문에 빈 집합을 얻기 위해 내부 조인으로 변경했습니다.

추가됨: 이 문제를 해결하기 위해 다음과 같이 NULLIF를 사용해 보았습니다.

으아악

하지만 결과는 실망스럽습니다.

ID NOMINAL_QTY ENTERED_QTY
NULL NULL NULL

P粉677684876
P粉677684876

모든 응답(1)
P粉269847997

귀하의 쿼리가 어떤 행도 반환하지 않기 때문에 무엇을 기대하시는지 모르겠습니다.

하지만 계산 작업을 하려면 GROUP BY를 사용해야 합니다.

db<>fiddle 여기

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!