Sql server 2008 查询以获取分配了相同城市的销售人员记录
以下是我的表格样本Sql server 2008 查询以获取分配了相同城市的销售人员记录,sql-server-2008,Sql Server 2008,以下是我的表格样本 SalesPerson City harry Houston John Austin Mick Austin Gary Lansing Trevor Boise Michael Trenton Karen Trenton 我想知道所有saleperon谁有相同的城市分配给他/她。 因此,上表的结果应该给我(约翰、米克、迈克尔、特伦顿) 如何在不影响性能的情况下编写查询。我不想使用计数函数 谢谢那么: SELECT a.SalesPerson F
SalesPerson City
harry Houston
John Austin
Mick Austin
Gary Lansing
Trevor Boise
Michael Trenton
Karen Trenton
我想知道所有saleperon谁有相同的城市分配给他/她。
因此,上表的结果应该给我(约翰、米克、迈克尔、特伦顿)
如何在不影响性能的情况下编写查询。我不想使用计数函数
谢谢那么:
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。此查询将帮助您
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
输出:
特伦顿·迈克尔,凯伦
奥斯汀·约翰,米克
休斯顿哈里
兰辛加里
博伊西·特雷弗
结果集可能应该是(John、Mick、Michael、Karen),我想逻辑是正确的,但这仍然给出了所有记录,我查询中的其他一些东西导致了问题