Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Соединение првых строк в запросе

Соединение првых строк в запросе
Я
   zavyzka
 
13.06.18 - 19:38
Есть 2 таблицы в запросе.
Таблица1:

Склад1| Товар1
Склад1| Товар2
Склад2| Товар1
Склад2| Товар2

Таблица2:
Склад1| 5
Склад2| 10

При соедининии таблиц хочу получить таблицу:
Склад1| Товар1|5
Склад1| Товар2|NULL
Склад2| Товар1|10
Склад2| Товар2|NULL

Т.е. хочу что бы соединение происходило по первым найденым строкам и последующие строки уже не объединялись. Возможно есть какое-то простое решение?
 
 
   Малыш Джон
 
1 - 13.06.18 - 19:43
А как ты определил, что именно эти строки первые?
   zavyzka
 
2 - 13.06.18 - 19:47
(1) первая или последняя не имеет значения, т. е. можно что бы результат был такой:
Склад1| Товар1|5
Склад1| Товар2|NULL
Склад2| Товар1|NULL  
Склад2| Товар2|10

Главное что бы не такой:
Склад1| Товар1|5
Склад1| Товар2|5
Склад2| Товар1|10
Склад2| Товар2|10

т. к. потом по суммам будут считаться итоги.
   mehfk
 
3 - 13.06.18 - 19:51
SELECT * FROM TAB1 LEFT JOIN (SELECT TAB.Склад,TAB.Товар,TAB2.Количество (SELECT Склад, MIN(Товар) FROM TAB1 GROUP BY Склад) AS TAB LEFT JOIN TAB2 ON TAB1.Склад = TAB2.Склад) AS TAB ON TAB1.Товар = TAB.Товар,TAB1.Склад = TAB.Склад
   Малыш Джон
 
4 - 13.06.18 - 19:53
(2) так может потом их и соединять? когда итоги будут считаться? да и никто не мешает потом считать итоги с группировкой по складу. А то сейчас как-то криво постановка задачи выглядит. В запросе все строки равнозначны, а ты сейчас хочешь заполнить разные строки разными способами, а потом тебе считать тоже придется разные строки разными способами.

Но дело твое... Выбирай в ВТшку склады и товары, группируй по складу, а товары - по максимуму. Далее соединяй с этой ВТшкой  соединение первых двух таблиц.
   zavyzka
 
5 - 13.06.18 - 20:19
(3), (4) спасибо, понял.
(4) правда сейчас думаю, что может быть есть лучшее решение. Мне эти 2 таблицы в конечном итоге нужно вывести в отчет на СКД который должен выглядеть так:

Склад1.........5
---------Товар1
---------Товар2
Склад2.........10
---------Товар1
---------Товар2

т. е. сумм напротив товаров быть не должно.
Понятно, что в рабочем отчете колонок будет побольше, может есть какое-то красивое решение на СКД, типа правильно связать наборы данных или Расчтиывать ресурсы по...т.д.? Я пробовал но у меня не взлетело.
   Малыш Джон
 
6 - 13.06.18 - 20:27
(5) в СКД в ресурсах поставь выражение
Сумма(ВычислитьВыражениеСГруппировкойМассив("Количество", "Склад")) 
на уровне склада и выше. На уровне товара поставь 0.
И не извращайся в запросе)

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует