На другом языке программирования мы можем сделать это:
A = 5
B = A + 7
Но кто-нибудь знает, как сделать это в SQL, что-то вроде этого:
SELECT
(CASE WHEN (CASE WHEN t.[Id] IS NULL THEN 0 ELSE 1 END) = 1 THEN a.[123]
ELSE a.[432] END) AS 'Points',
@'Points' + 5 AS 'FinalPoints' ---Does any way to do this
FROM DeliveryOrder AS do
LEFT JOIN Transaction AS t ON t.DOId = do.Id
LEFT JOIN Amount AS a ON do.Id = a.Id
Я действительно ценю, если у кого-нибудь есть идеи, как это сделать
P / S: поскольку я могу использовать SubQuery для имитации этого, но в моем случае у каждого столбца есть много выражений CASE..WHEN, а внутри него тоже есть выражение Case, так что в конце концов когда все они объединены в один подзапрос, становится так ужасно читать: (