1

我看过这里,有很多问题涉及将两条记录合二为一,但我认为我的问题是一个独特的问题。我有一个软件,它使用 sql 查询为我们的票务软件创建桌面小工具。我想跟踪每个技术人员有多少帮助台票,并且我有工作代码。它会生成一个效果很好的条形图,但是,有时多个技术人员或一名技术人员和一名经理被分配到一张工单,我无法提取该数据。代码是:

SELECT TECHNICIAN, COUNT(TECHNICIAN) AS TICKETS
FROM TABLE

(内部连接有一点额外的复杂性,所以我可以通过将员工的 ID 链接到带有实际姓名的表来在条形图上获取员工的姓名,但这是简化版本)

这是我当前的结果集:

TECHNICIAN    TICKETS
Bob           5
Bob, Harry    1
Joe           6
Mark          3
Jeff          2

我想要的结果集是:

TECHNICIAN    TICKETS
Bob           6
Joe           6
Mark          3
Jeff          2

如果上面的结果集进入小工具,它会为每条记录创建一个条形图。所以会有一个“鲍勃”酒吧和一个“鲍勃,哈利”酒吧。另外,我知道我只想要技术人员,所以我不需要它来制作单独的 'harry' 记录,只需将两个 'bob' 加在一起。此外,我对数据库具有只读访问权限,因此创建新表来保存数据已被淘汰。

谢谢!

4

1 回答 1

1

假设该TECHNICIAN列是 255 个字符:

SELECT Tech, Tickets = COUNT(*)
FROM (
  SELECT 
    Tech = SUBSTRING
           (
              TECHNICIAN, 1, 
              COALESCE(NULLIF(CHARINDEX(',', TECHNICIAN)-1, -1), 255)
           )
  FROM dbo.[TABLE]
) AS x
GROUP BY Tech;
于 2012-07-19T16:16:20.623 回答