2017-05-05 1 views
2

에서 그룹 자료 및 회사에 나는 테이블과 같이 있습니다 방법이 쿼리

Material Company vendor Salepersonofvendor 

A    100   Coca  Peter 
A    100   Coca  Rex 
B    100   Coca  Vena 
B    100   Pepsi  Weter 
C    200   Samsung Indi 
D    200   Samsung Thomax 

지금 내가 자료, 회사와 공급 업체 그룹으로합니다. 회사의 물질이 1 개 이상의 공급 업체가있는 경우, 다음은 나 "N/A는"당신이 그것을 어떻게에하는 방법 좀 도와 주실 래요이

Material Company vendor 
A    100   Coca  
B    100   N/A  
C    200   Samsung 
D    200   Samsung 

처럼 보여줍니다 것인가?

감사

WITH CTE_Material AS (
     SELECT 
      Material 
      ,Company 
      ,Vendor 
      ,Saleperson 
     FROM (VALUES 
      ('A', '100','Coca','Peter') 
      , ('A', '100','Coca','Rex') 
      , ('B', '100','Coca','Vena') 
      ,('B', '100','Pepsi','Weter') 
      ,('C', '200','Samsung','Indi') 
      ,('D', '200','Samsung','Thomax') 
      ) AS Material(Material,Company,Vendor,Saleperson) 
) 

select * from CTE_Material 

답변

2

시도 :

select Material,Company, case when count(distinct Vendor) > 1 then 'N/A' else max(Vendor) end as vendor 
from CTE_Material 
group by Material,Company 
관련 문제