Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 查询以获取分配了相同城市的销售人员记录_Sql Server 2008 - Fatal编程技术网

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),我想逻辑是正确的,但这仍然给出了所有记录,我查询中的其他一些东西导致了问题