查询以获取具有相同城市的销售人员记录

时间:2014-02-05 06:46:20

标签: sql-server-2008

以下是我的表格样本

SalesPerson City
harry    Houston
John    Austin
Mick    Austin
Gary    Lansing
Trevor  Boise
Michael Trenton
Karen   Trenton

我想知道所有同一个城市的销售人员分配给他/她。 所以,上表的结果应该给我(John,Mick,Michael,Trenton)

如何在不影响性能的情况下编写查询。我不想使用COUNT函数。

由于

2 个答案:

答案 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