I 다음 스키마 있습니다쿼리 세 이상의 테이블
|partner|
---------
id
|contract|
----------
id
partner_id
termination_date
|comtract_items|
---------------
id
contract_id
product_id
내가 아니 계약을 체결 한 유효한 계약 (termination_date is NULL
)와 이있는 모든 파트너를 선택합니다을 product_id
의 392 및 393
지금까지 내 쿼리입니다 :
SELECT
c.id,
c.subject
FROM
contract_contract c
WHERE
c.termination_date is NULL or c.termination_date > '2014-12-11'
and c.id NOT IN (SELECT contract_id
FROM contract_item
WHERE product_id IN (392, 393))
모든 아이디어를 어떻게 쿼리를 작성하기 위해?
귀하의 질의가 적절해 보입니다. 문제가 무엇입니까? –
쿼리에 contract_contract.subject가 있지만 테이블 레이아웃에는 없습니다. 명확히하십시오. 또한, 'product_id 392와 393과의 계약 없음'이라는 제한은 그것이 적용되는 계약의 상대방을 배제하기로되어있다. –
그것의 뒤에 오는 관계> 1 명의 협동자는 많은 계약이있을 수 있고 1 개의 계약은 많은 선을 가질 수있다. 내 쿼리와 나는 어떤 계약에서 이러한 제품 중 하나를 havnt 모든 파트너를 얻을 싶어요 – ghovat