以下是我的表格样本
SalesPerson City
harry Houston
John Austin
Mick Austin
Gary Lansing
Trevor Boise
Michael Trenton
Karen Trenton
我想知道所有同一个城市的销售人员分配给他/她。 所以,上表的结果应该给我(John,Mick,Michael,Trenton)
如何在不影响性能的情况下编写查询。我不想使用COUNT函数。
由于
答案 0 :(得分:2)
怎么样:
SELECT a.SalesPerson
FROM dbo.table a
WHERE EXISTS (SELECT 1
FROM dbo.table b
WHERE NOT a.SalesPerson = b.SalesPerson
AND a.City = b.City)
不确定它的性能如何,但它不使用Count。
答案 1 :(得分:1)
此查询可以帮助您
select t1.City,
isnull(
stuff((
select ',' + convert(varchar,SalesPerson )
from mytable
where (City=t1.City)
group by SalesPerson
for xml path('')
),1,1,'')
,'') as person
from
(
select City from mytable
) as t1
输出:
特伦顿迈克尔,凯伦 奥斯汀约翰,米克休斯顿哈利
兰辛加里Boise Trevor