Sql server 将两条记录合并为一条

Sql server 将两条记录合并为一条,sql-server,Sql Server,我看过这里,有很多问题涉及到将两个记录合并成一个,但我认为我的问题是独一无二的。 我有一个软件,它使用sql查询为我们的票务软件创建桌面小工具。我想跟踪每个技术人员有多少帮助台票据,我有相应的工作代码。它生成了一个棒形图,效果非常好,但是,有时多个技术人员或一个技术人员和一个经理被分配到一张工单,而我无法提取该数据。代码是: SELECT TECHNICIAN, COUNT(TECHNICIAN) AS TICKETS FROM TABLE (内部联接有一点额外的复杂性,因此我可以通过将员工I

我看过这里,有很多问题涉及到将两个记录合并成一个,但我认为我的问题是独一无二的。 我有一个软件,它使用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”加在一起就行了。此外,我对数据库具有只读访问权限,因此无法创建新表来保存数据


谢谢大家!

假设
技师
列为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;

假设
technology
列为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;

您的表没有很好地规范化。在另一张表中,Bob和Harry在罚单上应该有两行——假设Harry被排除在经理之外,您如何区分“Bob,Harry”(只给Bob一行)和“Bob,Joe一行”(一行给Bob,一行给Joe),如果我有数据库的写权限,我会规范化data@CodeByMoonlight,实在没有好的解决办法。有时经理和技术人员赌一张票,有时赌两名技术人员。我想我想让第一个技术人员得到“点”。你的表没有很好地规范化。在另一张表中,Bob和Harry在罚单上应该有两行——假设Harry被排除在经理之外,您如何区分“Bob,Harry”(只给Bob一行)和“Bob,Joe一行”(一行给Bob,一行给Joe),如果我有数据库的写权限,我会规范化data@CodeByMoonlight,实在没有好的解决办法。有时经理和技术人员赌一张票,有时赌两名技术人员。我想我希望第一个被指派的技术人员能得到“要点”。太好了!现在唯一的问题是:我应该把那些使经理无效的州放在哪里?示例:还有技师“哈里”,太棒了!现在唯一的问题是:我应该把那些使经理无效的州放在哪里?示例:和技师“HARRY”