Возникли проблемы с этим:
У меня есть следующий запрос, который дает мне именно то представление, которое мне нужно.
SELECT t.Week,
SUM(t.Hours) AS AH,
SUM(c.Input) AS input,
SUM(c.[recruitedPos]) AS recruitedPos,
(SUM(t.Hours) - SUM(c.Input)) AS Possible
FROM tempPOC AS t
LEFT JOIN (SELECT Week,
SUM(input) AS Input,
SUM([Normal Weekly Hours]) AS recruitedPos,
Shop
FROM colData
GROUP BY week,
Shop) AS c ON t.Week = c.Week
AND c.Shop = t.Store
GROUP BY t.Week,
t.Store
ORDER BY t.Week;
То, с чем у меня возникают проблемы, - это запись оператора case вустановите любые значения из возможных псевдонимов в 0, если они ниже 0.
Я думал, что это будет так же просто, как
(CASE(SUM(t.Hours - c.Hours)) < 0 then 0 else Possible end as Possible)
, но это дает мне ошибку
Сообщение 156, Уровень 15, Состояние 1, Строка 9
Неверный синтаксис рядом с ключевым словом "as".
Ввод:
Week, AH, Input, RecruitedPos, Possible
1, 15, 25, 13, -10
1, 30, 15, 15, 15
ожидаемый результат:
Week, AH, Input, RecruitedPos, Possible
1, 15, 25, 13, 0
1, 30, 15, 15, 15