SQL 帮助 - 认为我需要一个子查询

SQL Help - Think I need a subquery

我写了下面的查询。

SELECT pro.[Id], COUNT(*) AS Count 
FROM {Task} tsk
JOIN {profile} pro ON tsk.[ProfileId]=pro.[Id]
GROUP BY 
    pro.[Id]
HAVING
    COUNT(*) > 1

这是我感兴趣的 returns 记录,但 returns 以下...

ID       Count
12345    3
21254    2
25458    2

我现在需要更进一步,我想我需要使用我在另一个查询中编写的查询来获得我需要的东西。

我基本上需要查看计数中的基础数据,例如任务编号。所以根据上面的例子,最终结果看起来像这样。

ID       Count
12345    123-345
12345    135-564 
12345    136-985
21254    124-856
21254    135-854
25458    214-854
25458    365-850

我认为我需要一个子查询来执行此操作是否正确,我将如何去做?

谢谢

您可以使用 CTE、计数、过滤然后加入

WITH CTE AS (
SELECT pro.[Id], COUNT(*) AS Count 
FROM {Task} tsk
JOIN {profile} pro ON tsk.[ProfileId]=pro.[Id]
GROUP BY 
    pro.[Id]
HAVING
    COUNT(*) > 1
)
SELECT tsk.[Id], tsk.[ProfileId] FROM CTE
JOIN {Task} tsk ON CTE.[Id] = tsk.[ProfileId]