|
Помогите с запросом | ☑ | ||
---|---|---|---|---|
0
Elenchka
03.03.12
✎
23:13
|
Добрый вечер!
Помогите, пожалуйста, с запросом в 1С 8.2 КА 1.0. Есть 2 таблицы 1-я таблица содержит данные: Контрагент Тара КоличествоОстаток Контрагент1 Тара1 3 Контрагент1 Тара2 2 Контрагент1 Тара3 1 2-я таблица содержит данные: Контрагент Тара КоличествоВозврат Контрагент1 Тара1 1 Нужно из 2-х таблиц получить следующую таблицу: Контрагент Тара КоличествоОстаток КоличествоВозврат Контрагент1 Тара1 3 1 Пишу следующий запрос: ВЫБРАТЬ д_УчетВозвратнойТарыОстаткиИОбороты.Контрагент КАК Контрагент, д_УчетВозвратнойТарыОстаткиИОбороты.Тара КАК Тара, д_УчетВозвратнойТарыОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток, РеализацияТоваровУслугВозвратнаяТара.Количество КАК Количество ИЗ РегистрНакопления.д_УчетВозвратнойТары.ОстаткиИОбороты(, &ДатаКон, , , ) КАК д_УчетВозвратнойТарыОстаткиИОбороты ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.ВозвратнаяТара КАК РеализацияТоваровУслугВозвратнаяТара ПО д_УчетВозвратнойТарыОстаткиИОбороты.Контрагент = РеализацияТоваровУслугВозвратнаяТара.Ссылка.Контрагент ГДЕ РеализацияТоваровУслугВозвратнаяТара.Ссылка = &Ссылка Работает неверно, не пойму в чем причина |
|||
1
fimanich
03.03.12
✎
23:24
|
(0)Хорошо бы запросы подучить...
Во вложенном запросе делаешь объединение 2-х таблиц, затем группируешь по Контрагент и Тара Выбрать ВложенныйЗапрос.Контрагент, ВложенныйЗапрос.Тара, Сумма(ВложенныйЗапрос.Остаток), Сумма(ВложенныйЗапрос.Возврат) из ( выбрать Т1.Контрагент, Т1.Тара, Т1.Остаток, 0 как возврат из т1 как т1 объединить все 1.Контрагент, Т2.Тара, 0, Т2 из т2 как т2) сгруппировать по Контрагент, Тара |
|||
2
ЛЮС
03.03.12
✎
23:40
|
(0) надо добавить в условие соединения условие на поле тара, а не только контрагент
(1) при объединении не получится вид таблицы заданный в условии |
|||
3
Elenchka
03.03.12
✎
23:48
|
(2)Спасибо, в этом случае все работает.
Подскажите, пожалуйста, а как получить следующую результирующую таблицу из 2-х исходных? Контрагент Тара КоличествоОстаток КоличествоВозврат Контрагент1 Тара1 3 1 Контрагент1 Тара2 2 Контрагент1 Тара3 1 |
|||
4
viktor_vv
03.03.12
✎
23:55
|
Полное соединение
|
|||
5
viktor_vv
03.03.12
✎
23:56
|
Isnull(д_УчетВозвратнойТарыОстаткиИОбороты.Контрагент,РеализацияТоваровУслугВозвратнаяТара.Ссылка.Контаргент) КАК Контрагент,
|
|||
6
viktor_vv
03.03.12
✎
23:56
|
(4)+ Вместо внутреннего.
|
|||
7
fimanich
03.03.12
✎
23:57
|
(2)Ну так я ж мысли читаю, вот уже в (3) условие поменялось, и объединение может помочь :-)
|
|||
8
viktor_vv
03.03.12
✎
23:59
|
(7) Ну таки да, или объединение. Вроде как объединение будет побыстрее, чем полное соединение.
|
|||
9
fimanich
04.03.12
✎
00:00
|
(8) а на счет полного соединения краем уха слышал, что не все sql-сервера корректно его могут обработать, так что для универсальности без него лучше обойтись...
|
|||
10
Elenchka
04.03.12
✎
00:21
|
(7) Спасибо за помощь!
а можно сделать так, чтобы в результате: Контрагент Тара КоличествоОстаток КоличествоВозврат Контрагент1 Тара1 3 1 Контрагент1 Тара2 2 0 Контрагент1 Тара3 1 0 Вместо нулей ничего не выводилось? |
|||
11
fimanich
04.03.12
✎
00:32
|
(10) Если у тебя отчет, который в макет выводится, то задай формат ячейки в макете, чтобы 0 не отображался
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |