SQL查询以查找哪个客户购买了Glass或至少一个Doll

时间:2019-12-12 10:25:04

标签: sql sql-server

我有下面的客户表

Original teable

下面是我的代码

select Cust_ID, Item_ID from custTable where Item_ID = (
Case 
when Item_ID in ('Doll','Glass') then 'Glass'
else 'Doll'
End )

预期结果是

Final result

我如何获得预期的结果表,我需要更改where语句,但是不确定如果在where处可以使用,有人可以朝正确的方向引导我。

1 个答案:

答案 0 :(得分:3)

如果按客户对数据进行分组,则可以为每个数据按字母顺序选择MAX(最高)item_id

select Cust_ID, max(Item_ID)
from custTable 
where Item_ID in ('Doll', 'Glass')
group by Cust_ID