我编写了一个查询,返回所有曾与我所在公司进行过购买的客户的列表。我获取数据的人想知道这些订单中是否有特定标准。
select L.ParentLocation,
[Number of Orders] = count(distinct(T.Order))
from Table1 L
join Table2 T
on L.Location = T.Location
group by L.ParentLocation
然而,问题很复杂,因为我已经通过ParentLocation进行分组,并且每个ParentLocation都有许多正常的位置。所以我在计算位置级别的唯一订单数量,然后按ParentLocation对它们进行分组。
我想回归' TRUE'在查询中是否有字段' OrderDesc'包含"玩具"在ParentLocation拥有的任何地点的任何订单中。有没有办法做到这一点?
注意:Table2包含OrderDesc列。
感谢阅读!
答案 0 :(得分:1)
select
L.ParentLocation,
[Number of Orders] = count(distinct(T.Order)),
has_toys = max(case when t.OrderDesc like '%toys%' then 'TRUE' else '' end)
from Table1 L
inner join Table2 T
on L.Location = T.Location
group by
L.ParentLocation