Как создать в 1С аналог простого запроса sql? #484578


#0 by Господин ПЖ
from tbl where tbl.price between          (select min(price)+2 from Prices)        and          (select Avg(price)-1 from Prices) ЗЫ на МЕЖДУ(ВЫБРАТЬ...) И (ВЫБРАТЬ...) страшно ругается на синтаксис
#1 by Shurjk
попробуй перед вторым выбрать В поставить
#2 by Господин ПЖ
не прет. оно сразу матерится на первый МЕЖДУ(<<?>>ВЫБРАТЬ...)
#3 by i-rek
присоедини эти два селекта левым соединением к первому
#4 by NcSteel
Имхо . Ни как . Только соединениями
#5 by Sabbath
Прям чтоб аналог не сделаешь, подзапросами вытащи минимальную и среднюю цену сначала.. ну или есть еще куча методов через соединения. А после слова где в 1С не вытащишь скалярное значение подзапросом как в sql, насколько я знаю. Тут возможно сравнение с результатом запроса только через В, поэтому если МЕЖДУ и др. будет ругаться.
#6 by Лефмихалыч
где-то как-то так SELECT VZ.* ПОМЕСТИТЬ VT FROM(select min(price)+2 as MIN, NULL AS AVG from Prices)AS VZ ; SELECT tbl.* FROM tbl.price INNER JOIN VT ON tbl.price BETWEEN VT.MIN AND VT.AVG
#7 by Лефмихалыч
только запрос, из которого строится временная таблица надо сгруппировать и NULL заменить на 0
#8 by Лефмихалыч
ну, то ест не сгруппировать, а просуммировать
#9 by Hmster
ВЫБРАТЬ    2 ВЫБРАТЬ    3 ВЫБРАТЬ    4 ;
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С