简体   繁体   English

SQL COUNT无法与将SELECT查询嵌套在LEFT外部联接中一起使用

[英]SQL COUNT not working with nesting a SELECT query inside a LEFT outer join

I need a Count to work to use in my main select Original question Looking to add in a Count query with Group by INTO an existing working query 我需要一个Count才能在我的主选择中使用原始问题希望通过INTO现有的工作查询中的Group by添加一个Count查询

--- this join works ---
LEFT OUTER JOIN
WorkItemAssignedToUserFactvw AS IATUFact 
ON 
WI.WorkItemDimKey = IATUFact.WorkItemDimKey 
AND IATUFact.DeletedDate IS NULL 
--- this part below is in both queries ---
LEFT OUTER JOIN
UserDimvw AS AssignedToUser 
ON 
IATUFact.WorkItemAssignedToUser_UserDimKey = AssignedToUser.UserDimKey 

If I change the query to have a Left outer join with a select statement then I end up with an error 如果我将查询更改为具有选择语句的Left外部联接,那么我将遇到错误

LEFT OUTER JOIN
(
    SELECT
        WorkItemDimKey--,
        DateKey,
        --COUNT(WorkItemAssignedToUser_UserDimKey) AS Assignments
    FROM
        WorkItemAssignedToUserFactvw
    WHERE
        DeletedDate IS NULL
    GROUP BY
        WorkItemDimKey--,
        --DateKey
)
     IATUFact
        ON  WI.WorkItemDimKey = IATUFact.WorkItemDimKey

--- same query join as before except now it had an error 
LEFT OUTER JOIN
UserDimvw AS AssignedToUser 
ON 
IATUFact.WorkItemAssignedToUser_UserDimKey = AssignedToUser.UserDimKey 

Error: 错误:

Msg 207, Level 16, State 1, Line 292 Invalid column name 'WorkItemAssignedToUser_UserDimKey'. 消息207,级别16,状态1,行292无效的列名称'WorkItemAssignedToUser_UserDimKey'。

Use WorkItemAssignedToUser_UserDimKey in your SELECT "should" fix this AND ADD to the group by .. 在您的SELECT中“使用”应该使用WorkItemAssignedToUser_UserDimKey来解决此问题,并将其添加到组中。

LEFT OUTER JOIN
(
    SELECT
        WorkItemAssignedToUser_UserDimKey,
        WorkItemDimKey,
        DateKey,
        COUNT(WorkItemAssignedToUser_UserDimKey) AS Assignments
    FROM
        WorkItemAssignedToUserFactvw
    WHERE
        DeletedDate IS NULL
    GROUP BY
        WorkItemAssignedToUser_UserDimKey,
        WorkItemDimKey,
        DateKey
)
     IATUFact
        ON  WI.WorkItemDimKey = IATUFact.WorkItemDimKey

--- same query join as before except now it had an error 
LEFT OUTER JOIN
UserDimvw AS AssignedToUser 
ON 
IATUFact.WorkItemAssignedToUser_UserDimKey = AssignedToUser.UserDimKey 

Maybe you had commented things out to see if they were the problem? 也许您已经注释掉了东西,看看是否是问题所在?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM