|
|
|
| Есть такой вот запрос
SELECT tovar.tovname, tovar.kolvo,
IF(zline.kolvo >= tovar.opt AND tovar.opt<>0, tovar.cena_no, tovar.cena_nr) AS cena,
ROUND(IF(tovar.opt>0 AND zline.kolvo >= tovar.opt, tovar.cena_no, tovar.cena_nr) * zline.kolvo, 2) AS summa
FROM zline
LEFT JOIN tovar ON zline.tovar=tovar.tovarid
ORDER tovar.tovname
|
Он работает, все оки.
Но хочется написать, вот так
SELECT tovar.tovname, tovar.kolvo,
IF(zline.kolvo >= tovar.opt AND tovar.opt<>0, tovar.cena_no, tovar.cena_nr) AS cena,
ROUND(cena * zline.kolvo, 2) AS summa
FROM zline
LEFT JOIN tovar ON zline.tovar=tovar.tovarid
ORDER tovar.tovname
|
Получаю ошибку что поле cena не найдено.
Можно ли вообще внутри запроса обратиться к полю объявленному через AS?
А то книжки полистал но ничего для себя не нашел.
Если тема такая обсуждалась, то буду рад если ткнут носом в ответ (я не нашел :-( ) | |
|
|
|
|
|
|
|
для: targa
(23.05.2006 в 01:08)
| | если Ваш сервер допускает вложенные запросы, можно извернуться. Если нет - врядли получится. | |
|
|
|
|
|
|
|
для: Trianon
(23.05.2006 в 10:22)
| | Допускает (я думал про вложенный запрос но не сообразил как его сформулировать)
Просто хотелось бы и упростить код, и облегчить нагрузку на сервер. | |
|
|
|