|
v7: Прямой запрос. | ☑ | ||
---|---|---|---|---|
0
Eeakie
14.05.14
✎
01:50
|
Нужен отбор документов за период + остатки по 3 регистрам по каждому документу. Делаю так:
Текст = " |select Выборка.Заявка [Заявка $Документ.Заявка] | , sum(Выборка.Ост1) Бухгалтерия | , sum(Выборка.Ост2) Склад | , sum(Выборка.Ост3) Шайба |from( | select Бухгалтерия.ПоСчету Заявка | , Бухгалтерия.РезервТовараОстаток Ост1 | , 0 Ост2 | , 0 Ост3 | from | $РегистрОстатки.Заявки(,, Фирма = :ТекущаяФирма) as Бухгалтерия | | union all | | select Склад.Заявка Заявка | , 0 Ост1 | , Склад.КоличествоОстаток Ост2 | , 0 Ост3 | from | $РегистрОстатки.Ожидания(,, Фирма = :Центролаб) as Склад | | union all | | select Шайбы.Заявка Заявка | , 0 Ост1 | , 0 Ост2 | , Шайбы.ОстатокТовараОстаток Ост3 | from | $РегистрОстатки.ОстаткиТоваровОбщ(,, Фирма = :Центролаб) as Шайбы | ) as Выборка |where | Выборка.Заявка IN (select val from #Заявки) |group by | Выборка.Заявка"; И всё бы ничего, но в результате получаю только документы, по которым хоть один остаток > 0. Как получить данные типа: "документ" "0" "0" "0"? |
|||
1
Eeakie
14.05.14
✎
01:52
|
+(0) в списке документов 100% есть такие, по которым все 3 остатка = 0, но они не попадают.
|
|||
2
Wobland
14.05.14
✎
02:59
|
из документы левое остатки?
|
|||
3
Eeakie
14.05.14
✎
12:55
|
(2) Что?
|
|||
4
Wobland
14.05.14
✎
12:55
|
(3) from documents left join rests
|
|||
5
vinogradъ
14.05.14
✎
12:59
|
(4) бгг))
|
|||
6
dk
14.05.14
✎
13:00
|
добавь еще 1 union по заявкам с 0 0 0
|
|||
7
Eeakie
14.05.14
✎
13:02
|
(4) Кстати, да. Чё я обычным лэфтджойном не сделал?!
|
|||
8
Eeakie
14.05.14
✎
13:02
|
(6) Тоже вариант.
|
|||
9
Ёпрст
14.05.14
✎
13:03
|
+6
| union all select val,0,0,0 from #Заявки |
|||
10
dk
14.05.14
✎
13:06
|
фильтр по заявкам лучше затащить внутрь параметров вирт табл остатков
$РегистрОстатки.ОстаткиТоваровОбщ(,, (Заявка IN (select val from #Заявки)) AND (Фирма = :Центролаб)) as Шайбы |
|||
11
Eeakie
14.05.14
✎
13:12
|
Всё пошло. Спасибо.
(10) Чем лучше фильтр внутри ВТ? |
|||
12
Eeakie
14.05.14
✎
13:16
|
Похоже, не самый умный вопрос ;)
|
|||
13
Eeakie
14.05.14
✎
13:54
|
А как через ВТ получить остатки, если одно из измерений находится в селекте?
select A from $РегистрОстатки.Б(,, Измерение1 = А)? |
|||
14
Eeakie
14.05.14
✎
13:57
|
Что-то я совсем туплю, походу...
|
|||
15
Eeakie
14.05.14
✎
14:17
|
Всё, разобрался. Можно закрывать.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |