SQL COUNT не работает с вложением запроса SELECT внутри внешнего соединения LEFT - PullRequest
0 голосов
/ 05 апреля 2019

Мне нужно, чтобы Count работал для моего основного выбора. Оригинальный вопрос Нужно добавить в запрос Count с Group INTO существующий рабочий запрос

--- 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 

Если я изменю запрос на внешнее соединение Left с оператором select, я получу ошибку

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 

Ошибка:

Сообщение 207, Уровень 16, Состояние 1, Строка 292 Неверное имя столбца 'WorkItemAssignedToUser_UserDimKey'.

1 Ответ

1 голос
/ 05 апреля 2019

Используйте WorkItemAssignedToUser_UserDimKey в вашем SELECT «должен» исправить это И ДОБАВИТЬ в группу с помощью ..

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 

Может быть, вы прокомментировали вещи, чтобы увидеть, были ли они проблемой?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...