|
Соединение првых строк в запросе |
☑ |
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.
И не извращайся в запросе)
|
|