2017-05-05 7 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 
関連する問題