Как использовать заказ по вычисленному полю в SQL?Как использовать заказ по вычисленному полю в SQL?
select a.Customer
,a.PlanTo
,a.Dollar01
,a.Dollar02
,a.Dollar03
,a.Dollar04
,a.Dollar05
,a.Dollar06
,a.Dollar07
,a.Dollar08
,a.Dollar09
,a.Dollar10
,a.Dollar11
,a.Dollar12
,(CAST(a.Dollar01 as decimal) + CAST(a.Dollar02 as decimal)
+ CAST(a.Dollar03 as decimal) + CAST(a.Dollar04 as decimal)
+ CAST(a.Dollar05 as decimal) + CAST(a.Dollar06 as decimal)
+ CAST(a.Dollar07 as decimal) + CAST(a.Dollar08 as decimal)
+ CAST(a.Dollar09 as decimal) + CAST(a.Dollar10 as decimal)
+ CAST(a.Dollar11 as decimal) + CAST(a.Dollar12 as decimal)) as TOTAL1
from MDM_STAT.sds.SMarginText a
where a.salesyear = '2016'
order by a.total1
Это дает мне столбец «total1» не существует, но, как вы видите, я создал это и работает, если я не использую оговорку order by
.
Удалить псевдоним 'a.' - попробуйте' order by total1' ... – sgeddes
'a.total1' не существует, поскольку SQL Server будет искать этот столбец в' SMarginText', но 'ORDER BY TOTAL1 ; 'будет работать нормально. –
(1) Отформатируйте свой код и (2) Разъясните (теги), какую СУБД вы фактически используете, - это PostgreSQL или SQL Server? – Nicarus