Есть следующий запрос
ТекстЗапросаНоменклатуры = "
|SELECT
|Запрос.Номенклатура [Номенклатура :Справочник.Номенклатура]
|, Запрос.Элемент [Элемент :Справочник]
|, Запрос.Норматив [Норматив :Справочник.НормыРасходов]
|, Запрос.Норма [Норма :Число.14.3]
|, Запрос.Цена [Цена :Число.15.2]
|, Запрос.Стоимость [Стоимость :Число.15.2]
|, CASE WHEN Запрос.Цена = 0 THEN Запрос.Стоимость / Запрос.Норма ELSE Запрос.Цена END [ЦенаСНДС :Число.15.2]
|FROM
|(
|SELECT
|ном.id Номенклатура
|, ном.ОсновнаяСпецификация
|, норм.id Норматив
|, норм.parentid Спецификация
|, норм.Элемент Элемент
|,(SELECT П.value
| FROM __1S_Const AS П
| WHERE П.objid = норм.id AND П.date <= @ДатаТек AND П.id = :ИсторияРеквизита.НормыРасходов.Норма
| ORDER BY date DESC LIMIT 1) AS Норма
|,(SELECT П.value
| FROM __1S_Const AS П
| WHERE П.objid = норм.id AND П.date <= @ДатаТек AND П.id = :ИсторияРеквизита.НормыРасходов.Цена
| ORDER BY date DESC LIMIT 1) AS Цена
|,(SELECT П.value
| FROM __1S_Const AS П
| WHERE П.objid = норм.id AND П.date <= @ДатаТек AND П.id = :ИсторияРеквизита.НормыРасходов.Стоимость
| ORDER BY date DESC LIMIT 1) AS Стоимость
|FROM [Справочник.Номенклатура] ном
|LEFT JOIN [Справочник.НормыРасходов] норм ON норм.parentext = ном.id AND норм.isfolder = 2 AND норм.ismark = '' AND норм.ВидЭлемента = @ВидЭлемента
|AND COALESCE(Норма, 0) > 0 AND ((норм.parentid IS NULL) OR (норм.parentid = ном.ОсновнаяСпецификация))
|WHERE ном.ismark = '' AND ном.isfolder = 2 AND ном.id IN (SELECT val FROM тНоменклатура)
|AND норм.id IS NOT NULL
|) Запрос";
В результат попадают строки с
Норма = 0.
Поясните, почему не выполняется условие
Норма > 0?
COALESCE добавил уже в попытках устранить проблему...
Пробовал даже обрамить весь запрос нормы
|,COALESCE((SELECT П.value
| FROM __1S_Const AS П
| WHERE П.objid = норм.id AND П.date <= @ДатаТек AND П.id = :ИсторияРеквизита.НормыРасходов.Норма
| ORDER BY date DESC LIMIT 1), 0) AS Норма
Не помогло