나는 공급 업체, 판매 업체 및 위치와 관련된 데이터베이스를 보유하고 있습니다.WHERE 조건과 HAVING 조건 모두에서 OR 연산자 사용
특정 수의 제품을 판매하는 공급 업체의 경우 특정 지역 (예 : 또는)을 기반으로하는 공급 업체를 검색해야합니다.
이 질문의 예는 다음과 같습니다 하나 개 이상의 항목을 제공 할 수 있습니다 또는 일리노이 주에 본사를 둔 모든 업체의 전체 이름은 무엇
입니까?
두 개의 SQL 쿼리를 사용할 수 있으면이 작업은 간단합니다 (그러나이 문제는 해결할 수 없습니다). ORA-00933 : SQL 명령이 제대로
만약을 종료되지 아니, 사용되는 테이블 간의 조인을 내 솔루션은 잘못하지만 제가 1 호선에서
select
cs.vendor_id, name, count(cs.PRODUCT_ID)
from
grocery.vendor
where
va.state_territory_province = 'Illinois'
group by
(cs.vendor_id)
or /# error found here #/
having
(count(cs.product_id)>1);
오류를 시도 무엇인가가없는 가정
나는 Illonois를 사용하여 이러한 결과
을 얻을 별도로 각 하나를 시도
select
cs.vendor_id, v.name, count(cs.PRODUCT_ID)
from
grocery.vendor v
inner join grocery.vendor_address va
on (v.vendor_id = va.vendor_id)
inner join grocery.can_supply cs
on (v.vendor_id = cs.vendor_id)
where
va.state_territory_province = 'Illinois'
group by
(cs.vendor_id, v.name);
VENDOR_ID 이름의 COUNT (CS.PRODUCT_ID)
33 Drinks R Us 1
35 Jungle Man 1
34 Poland Spring 1
제품
select
cs.vendor_id, v.name, count(cs.PRODUCT_ID)
from grocery.vendor v
inner join grocery.vendor_address va
on (v.vendor_id = va.vendor_id)
inner join grocery.can_supply cs
on (v.vendor_id = cs.vendor_id)
group by (cs.vendor_id, v.name)
having(
count(cs.product_ID)>1);
VENDOR_ID 이름의 COUNT의 수 (CS.PRODUCT_ID)를 사용하여
8 Orgo Home Farm 3
17 Wellness 2
21 Wily Wonka 4
27 Camel 3
29 Supplies R Us 5
13 Clean Me Please 5
15 Oral Care Inc 2
31 Cheese Cake Factory 2
37 Crunchy 2
1 Moo Moo Milk Farm 4
4 Haagen Daz 3
26 Beer Inc 4
6 Sailor Bob 3
10 Dawn 2
16 SPAM 2
18 Wonder inc 3
5 Butcher Mat 3
9 Soda Forever 4
14 Wash Shampoo Inc 4
24 Huntz 4
20 Hershey 3
22 Bake Me Inc 5
30 We Make Pizza 2
36 Taste Treat 3
7 Monkey Paradise 6
19 Puff 5
26 개의 행이 선택되었습니다.
기본적으로이 두 쿼리를 하나로 병합하고 싶습니다.
용어 : '또는'은 절이 아닌 연산자입니다. 'where'와'having'은 절이 아니라 진술이 아닙니다. – mathguy
고맙습니다. 정의는 매우 중요합니다. 그건 내 실수 였어. –