Имя: Пароль:
1C
1С v8
Соединение првых строк в запросе
0 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
А как ты определил, что именно эти строки первые?
2 zavyzka
 
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

т. к. потом по суммам будут считаться итоги.
3 mehfk
 
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) так может потом их и соединять? когда итоги будут считаться? да и никто не мешает потом считать итоги с группировкой по складу. А то сейчас как-то криво постановка задачи выглядит. В запросе все строки равнозначны, а ты сейчас хочешь заполнить разные строки разными способами, а потом тебе считать тоже придется разные строки разными способами.

Но дело твое... Выбирай в ВТшку склады и товары, группируй по складу, а товары - по максимуму. Далее соединяй с этой ВТшкой  соединение первых двух таблиц.
5 zavyzka
 
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.
И не извращайся в запросе)