|
v7: Помогите с логикой SQL запроса | ☑ | ||
|---|---|---|---|---|
|
0
Тёплый фарфор
28.08.17
✎
12:37
|
Коллеги,
Мне нужно возвращать список товаров с колонкой по остаткам. Ключевое условие - товары с нулевым остатком тоже должны выводится. Однако если я не накладываю фильтр по периоду регистра, то в результатах выводятся не только итоги.... Как поступить? P.S. Видел как выводятся остатки в списке номенклатуры (http://www.1cpp.ru/forum/YaBB.pl?num=1284613005/0). В общем тоже подойдёт, но хочется как-то с текстом запроса разобраться. Привожу текст запроса на всякий случай: SELECT $Номенклатура.Артикул SKU , Номенклатура.ID [Товар $Справочник.Номенклатура] , $ОстаткиТМЦИтоги.Количество Остаток FROM $Справочник.Номенклатура AS Номенклатура With (NOLOCK) LEFT OUTER JOIN $РегистрИтоги.ОстаткиТМЦ AS ОстаткиТМЦИтоги With (NOLOCK) ON Номенклатура.ID = $ОстаткиТМЦИтоги.Номенклатура WHERE (Номенклатура.ISFOLDER = 2) AND (ОстаткиТМЦИтоги.PERIOD = :ДатаФильтр) GROUP BY Номенклатура.ID , $Номенклатура.Артикул , $ОстаткиТМЦИтоги.Количество |
|||
|
1
toypaul
гуру
28.08.17
✎
12:42
|
SQL учи. а потом уж берись за его применение в 1С
|
|||
|
2
Ёпрст
гуру
28.08.17
✎
12:43
|
(0)
AND (ОстаткиТМЦИтоги.PERIOD = :ДатаФильтр) сделай перед where |
|||
|
3
Ёпрст
гуру
28.08.17
✎
12:45
|
и вот так еще:
--, $ОстаткиТМЦИтоги.Количество Остаток , coalesce($ОстаткиТМЦИтоги.Количество,0) Остаток |
|||
|
4
Ёпрст
гуру
28.08.17
✎
12:47
|
И, вот так, как-то должно быть, ибо группировать по количеству - моветон
SELECT $Номенклатура.Артикул SKU , Номенклатура.ID [Товар $Справочник.Номенклатура] ,sum(coalesce($ОстаткиТМЦИтоги.Количество,0)) Остаток FROM $Справочник.Номенклатура AS Номенклатура With (NOLOCK) LEFT OUTER JOIN $РегистрИтоги.ОстаткиТМЦ AS ОстаткиТМЦИтоги With (NOLOCK) ON Номенклатура.ID = $ОстаткиТМЦИтоги.Номенклатура AND (ОстаткиТМЦИтоги.PERIOD = :ДатаФильтр) WHERE (Номенклатура.ISFOLDER = 2) GROUP BY Номенклатура.ID |
|||
|
5
Тёплый фарфор
28.08.17
✎
13:02
|
(4) Спасибо, всё получилось :)
|
| Форум | Правила | Описание | Секции | Поиск |