|
Запрос. Как сэмулировать получение данных? | ☑ | ||
---|---|---|---|---|
0
Галахад
гуру
30.07.20
✎
12:15
|
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Склад КАК Ссылка, ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура, ТоварыНаСкладахОстатки.ВНаличииОстаток КАК Остаток ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки(, Номенклатура В ИЕРАРХИИ (&Номенклатура) и Склад В ИЕРАРХИИ (&Склад)) КАК ТоварыНаСкладахОстатки Допустим есть простой запрос. И в параметрах указаны три склада. На одном из них товара нет. Соответственно в результате данных по этом складу просто не будет. Но хотелось бы чтобы в получаемой табличке был этот склад с остатком = 0. |
|||
1
H A D G E H O G s
30.07.20
✎
12:17
|
Очень странные дела...
|
|||
2
yzimin
30.07.20
✎
12:19
|
сэмулируй левым соединением, но надо подумать)))
|
|||
3
Nikoss
30.07.20
✎
12:22
|
Выбрать сначала номенклатуру из параметра во временную таблицу, потом к ней левым соединением остатки (ну и ЕСТЬНУЛЛ(Остаток, 0))
|
|||
4
Nikoss
30.07.20
✎
12:22
|
(2) ой, надо было дать человеку подумать?))
|
|||
5
Галахад
гуру
30.07.20
✎
12:26
|
(3) А склады?
|
|||
6
ГдеСобака Зарыта
30.07.20
✎
12:26
|
(4) сначала надо было подумать тебе). Откуда в (3) все склады появятся?
|
|||
7
hhhh
30.07.20
✎
12:26
|
(3) это не то. У вас одна строчка, а нужно 3. По каждому складу отдельная строка.
|
|||
8
Галахад
гуру
30.07.20
✎
12:26
|
Хм. Похоже только декартово произведение спасет меня.
|
|||
9
Nikoss
30.07.20
✎
12:28
|
(5)(6)(7) ладно ладно) еще склады выбрать во врем таб, и полное соединение с номенклатурой
|
|||
10
ГдеСобака Зарыта
30.07.20
✎
12:33
|
(8) Т.е. совет подумать из (2) не подходит? Думать не наше кредо?
|
|||
11
Галахад
гуру
30.07.20
✎
12:33
|
(9) Чего? Какое полное?
(10) А какие еще варианты? |
|||
12
ГдеСобака Зарыта
30.07.20
✎
12:37
|
(11) Тут еще не ясен момент с номенклатурой. Если ее нет на остатках ни по одному складу, то тогда выводить в результат или нет?
|
|||
13
Галахад
гуру
30.07.20
✎
12:39
|
(12) Нет. Если нигде нет, то нет.
|
|||
14
Ёпрст
30.07.20
✎
12:49
|
(0) ну и сделай запрос к справочнику склады с условием на &Склад + левое соедиенние с твоим запросом в (0). будут тебе все склады в результате
|
|||
15
Галахад
гуру
30.07.20
✎
12:53
|
(14) Да сделал уже. Но как-то это не красиво...
|
|||
16
Nikoss
30.07.20
✎
12:54
|
(15) покажи
|
|||
17
Галахад
гуру
30.07.20
✎
12:56
|
(16) Типа того:
ВЫБРАТЬ ТоварыНаСкладахОстатки.Склад КАК Ссылка, ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура, ТоварыНаСкладахОстатки.ВНаличииОстаток КАК Остаток ПОМЕСТИТЬ ТаблицаДанных ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки(, Номенклатура В ИЕРАРХИИ (&Номенклатура) и Склад В ИЕРАРХИИ (&Склад)) КАК ТоварыНаСкладахОстатки ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ Склады.Ссылка, Номенклатура.Ссылка, 0 КАК Остаток ИЗ Справочник.Склады КАК Склады, Справочник.Номенклатура КАК Номенклатура ГДЕ Склады.Ссылка В ИЕРАРХИИ(&Склад) И Номенклатура.Ссылка В ИЕРАРХИИ(&Номенклатура); //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТаблицаДанных.Ссылка КАК Ссылка, ТаблицаДанных.Номенклатура КАК Номенклатура, ТаблицаДанных.Остаток КАК Остаток ИЗ ТаблицаДанных КАК ТаблицаДанных |
|||
18
Nikoss
30.07.20
✎
13:28
|
(17) так у тебя же будет по 2 строки, если по номенклатуре есть остаток. Одна с остатком и вторая с нулем.
|
|||
19
Nikoss
30.07.20
✎
13:30
|
ну и условие из (13) где?
|
|||
20
Галахад
гуру
30.07.20
✎
13:52
|
(19) Это запрос для примера. Реальный запрос несколько сложнее и там всё это есть.
|
|||
21
Вафель
30.07.20
✎
13:56
|
можно в процессе вывода обходить запрса по группировкам со всеми значениями
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |