TEST1 테이블에 모델명(model) a, b, c, d, ..., x, y, z 가 있습니다
그런데, 동일한 주문번호에
모델명 a, b 를 동시에 포함하고 있는 데이타를 추출하고 싶은데
( 다른 모델명을 포함하고 있어도 상관없음)
쿼리를 어떤식으로 해야하나요?
(ex) TEST1 테이블 데이타
주문번호 모델명 수량
1 a 1
1 c 2
2 a 3 --> 원하는 데이타
2 b 4 --> 원하는 데이타
2 d 3 --> 원하는 데이타
3 a 5
4 d 5
4 e 6
5 f 3
5 g 4
(원하는 결과값)
주문번호 모델명 수량
2 a 3
2 b 4
2 d 3
Comment 2
-
나루
2014.02.03 08:42
-
Runningman、
2014.02.04 10:49
Database name : DB
Table name : tb
Column name : 주문번호 , 모델명 , 수량
use db
selet * from DB.tb where 주문번호 = 2
create table #tmp (주문번호 int, 모델명 varchar(10), 수량 int)
insert into #tmp
select 1 as 주문번호 ,'a' as 모델명 ,1 as 수량
union select 1 as 주문번호 ,'c' as 모델명 ,2 as 수량
union select 2 as 주문번호 ,'a' as 모델명 ,3 as 수량
union select 2 as 주문번호 ,'b' as 모델명 ,4 as 수량
union select 2 as 주문번호 ,'d' as 모델명 ,3 as 수량
union select 3 as 주문번호 ,'a' as 모델명 ,5 as 수량
union select 4 as 주문번호 ,'d' as 모델명 ,5 as 수량
union select 4 as 주문번호 ,'e' as 모델명 ,6 as 수량
union select 5 as 주문번호 ,'f' as 모델명 ,3 as 수량
union select 5 as 주문번호 ,'g' as 모델명 ,4 as 수량
select t.*
from #tmp as t
inner join
(
select 주문번호
, count(case when 모델명 ='a' then 1 end) as a_cnt
, count(case when 모델명 ='b' then 1 end) as b_cnt
from #tmp
group by 주문번호
) as tmp
on t.주문번호 = tmp.주문번호
where tmp.a_cnt > 0 and tmp.b_cnt > 0