다른 필드로 표시된 항목을 골라 내고 싶은 테이블이있는 쿼리에 문제가 있습니다.하나의 테이블에 중첩 된 쿼리
특히, 다른 위치에서 이동하고 표시 한 컨베이어 상자.
다음은 내가 가지고있는 것입니다 (그것은 작동하지 않습니다 - 오류를 일으키는 내부 선택 절의 여러 레코드를 반환합니다).
필드 바코드는 고유하지 않습니다. 그것이 작동하도록되어있는 방식은 돌아 다니며 특정 영역을 지나갈 때마다 해당 바코드에 새로운 레코드가 추가됩니다. 나는 그들 중 하나와 함께 3 개의 다른 영역에 있었던 바코드를 찾으려고합니다. lane_id LIKE (CRANE % _IN)
내 오류는 논리적 인 것으로 알고 있지만, 하위 쿼리가있는 동일한 테이블
개념 (나는 2 분 안에 어떤 언어로도 할 수있다)만큼 쉽게 SQL (포스트 그레스)에서 할 필요가있다.
SELECT barcode, lane_id
FROM acts_divert_log
WHERE lane_id IN ('GTP01', 'GTP02', 'GTP03', 'GTP04')
AND divstat IN (0, 1)
AND barcode =
(
SELECT barcode FROM acts_divert_log WHERE
lane_id LIKE ('CRANE%_IN')
AND divstat IN (0, 1)
AND barcode =
(
SELECT barcode FROM acts_divert_log WHERE
lane_id IN ('GTP01', 'GTP02', 'GTP03', 'GTP04')
AND divstat IN (0, 1)
)
);
예상 결과는 GTP0 %의 영역 및 적어도 하나의 크레인 %에 유념하라 영역 2에서 볼 수있다 바코드 고유해야한다.
도움이나 힌트를 주시면 감사하겠습니다. SQL은 정말로 나의 장점이 아닙니다. 이 같은
GTP0 % 영역 중 2 개에서 볼 수있는 두 개의 별개 영역? 그러나 테이블 정의와 Postgres 버전, 그러한 질문에 대한 기본 요구 사항을 제공함으로써 시작하십시오. –
예, 두 개로 구분됩니다. – DenizC