두 테이블이 있습니다. 제품 목록이있는 tblProduct와 소비 된 제품 ID가있는 소비자 이름이있는 tblConsumer입니다. 이제 제품 테이블에서 모든 제품을 소비 한 소비자의 이름을 찾아야합니다.INTERSECT를 사용하는 SELECT 문
INTERSECT를 사용하여이 문제를 해결하려고했지만 문제는 WHERE 절에서 각 productid를 제공한다는 것입니다. 이 구문은 내가 원하는 결과를 제공하지만 각 제품 ID를 지정할 필요가없는이 쿼리를 작성하는 방법은 무엇입니까? 실제로 tblProducts의 모든 제품을 나열하고자하는 경우 당신은 당신이 검사 할 제품의 목록이있는 경우
SELECT ConsumerName FROM tblConsumer WHERE ProductID= 1
INTERSECT
SELECT ConsumerName FROM tblConsumer WHERE ProductID =2
INTERSECT
SELECT ConsumerName FROM tblConsumer WHERE ProductID =3
tblProduct
---------------------------------
ProductID | Product Name
---------------------------------
1 | Mango
2 | Orange
3 | Banana
tblConsumer
---------------------------------
ConsumerName | ProductID
---------------------------------
David | 1
David | 3
David | 2
Henry | 3
Henry | 2
내 문장을 용서해주세요.하지만 'INTERSECT'를 SQL 문장으로 알지 못해 'UNION'을 의미합니까? 오, 사용중인 DB를 지정하십시오. –
@AdrianCornish : INTERSECT는 쿼리를 결합하는 완벽한 방법으로 PostgreSQL은 최소한 지원합니다 : http://www.postgresql.org/docs/current/interactive/queries-union.html –
@ AdrianCornish - INTERSECT는 많은 RDBMS에서 유효합니다. –