我在这里看过,有很多问题涉及将两个记录合并为一个,但我认为我的是一个独特的问题。 我有一个软件,它使用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
如果上面的结果集进入小工具,它会为每条记录设置一个条形码。所以会有一个'bob'酒吧和'bob,harry'酒吧。另外,我知道我只需要技术人员,因此我不需要它来制作单独的“哈里”记录,只需将两个'bob'加在一起。此外,我对数据库具有只读权限,因此创建新表来保存数据。
谢谢!
答案 0 :(得分: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;