Вход | Регистрация

1С:Предприятие ::

Метки: 

v7: Помощь с запросом SQL

Я
   Тёплый фарфор
 
04.09.18 - 18:10
Коллеги, помогите с запросом, пжта.
|SELECT 
|    LEFT(Журнал.Date_Time_IDDOC,8)    AS    [Дата $Дата],
|    LTRIM(RTRIM(Журнал.DOCNO))            AS    [Номер $Строка]
|(CASE
|WHEN $ДокЗаявки.Реквизит1 = 1 THEN 1
|WHEN $ДокЗаявки.Реквизит2 = 1 THEN 3
|WHEN $ДокЗаявки.Реквизит3 = 1 THEN 2
|ELSE 4
|END) AS [НовоеПоле $Число]
|FROM
|    _1SJORN AS Журнал
|WHERE
|    Журнал.IDDOCDef  = $ВидДокумента.Заявка

Нужно добавить условие по "НовоеПоле". Как это лучше сделать?
 
 
   Cool_Profi
 
1 - 04.09.18 - 18:12
AND
(CASE
|WHEN $ДокЗаявки.Реквизит1 = 1 THEN 1
|WHEN $ДокЗаявки.Реквизит2 = 1 THEN 3
|WHEN $ДокЗаявки.Реквизит3 = 1 THEN 2
|ELSE 4
|END) = <тут параметер>
   Cool_Profi
 
2 - 04.09.18 - 18:12
Перед AND 
WHERE
|    Журнал.IDDOCDef  = $ВидДокумента.Заявка
   ADirks
 
3 - 05.09.18 - 09:07
Единственно верный способ - все вычисления оборачивать в подзапрос


|SELECT 
|    Журнал.Дата [Дата $Дата],
|    Журнал.Номер,
|    Журнал.НовоеПоле
|FROM
|    (
|    SELECT 
|        LEFT(Журнал.Date_Time_IDDOC,8) Дата,
|        LTRIM(RTRIM(Журнал.DOCNO)) Номер,
|        CASE
|            WHEN $ДокЗаявки.Реквизит1 = 1 THEN 1
|            WHEN $ДокЗаявки.Реквизит2 = 1 THEN 3
|            WHEN $ДокЗаявки.Реквизит3 = 1 THEN 2
|            ELSE 4
|        END НовоеПоле
|    FROM
|        _1SJORN AS Журнал
|    WHERE
|        Журнал.IDDOCDef  = $ВидДокумента.Заявка
|    ) Журнал
|WHERE
|    Журнал.НовоеПоле = 7
|


Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует