T-SQL Group By; Contains or IfAny

SQL2005 и/или SQL2008 Есть ли какой-нибудь встроенный агрегат в T-SQL для Contains или IfAny или чего-нибудь еще? Что-то, где любое значение в группе равно значению? Аналогично Max(xyz)=value только не ограничивается max.

Select custID, case when Min(ProductGroup)= "A" then 'Have Ordered Group A' else 'Haven't Ordered Group A' end hasOrdered
from orders
inner join products on ordPoductId = productID
group by custID

Это работает для сравнения одного значения, если это min/max, но вместо этого я хочу что-то вроде:

Select custID, case when contains(ProductGroup, "G") then 'Have Ordered Group G' else 'Haven't Ordered Group G' end hasOrdered
from orders
inner join products on ordPoductId = productID
group by custID

Я могу использовать Min(ProductGroup)="A", если значение, о котором я беспокоюсь, является min/max, или изменить условие from на (case when 'G' then 0 else 1 end), чтобы создать фальшивый максимум. В настоящее время меня интересует только одно значение, но я хотел бы получить что-то более интуитивное и гибкое, если возможно. Есть идеи?

5
задан Sai Kalyan Kumar Akshinthala 17 October 2011 в 06:23
поделиться