powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Соединение двух таблиц с группировкой по значениям из 3-ей
13 сообщений из 13, страница 1 из 1
Соединение двух таблиц с группировкой по значениям из 3-ей
    #32537095
sYstEmiZer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть две таблицы с одинаковой структурой (движения товаров).
Есть таблица-справочник (вес, кол-во в коробке, объем и тп.).

Нужно сгруппировать две таблицы по товару и посчитать общее кол, вес и тп.

Вариант такой выдает полный бред с количеством:
Код: plaintext
1.
2.
3.
4.
5.
6.
SELECT a.pn,SUM(a.quan),SUM(a.quan/c.quantity),SUM(a.quan*c.weight),SUM(a.quan*c.objem)
FROM Outcome a
LEFT OUTER JOIN ean_phc c on a.pn=c.pn
LEFT OUTER JOIN Income b ON a.pn=b.pn
WHERE a.pn=c.pn
GROUP BY a.pn
Такой вариант... FB1.5 засылают в ступор. Как правильно?
Код: plaintext
1.
2.
3.
4.
5.
SELECT a.pn,SUM(a.quan),SUM(a.quan/c.quantity),SUM(a.quan*c.weight),SUM(a.quan*c.objem)
FROM Outcome a, ean_phc c
LEFT OUTER JOIN Income b ON a.pn=b.pn
WHERE a.pn=c.pn
GROUP BY a.pn
...
Рейтинг: 0 / 0
Соединение двух таблиц с группировкой по значениям из 3-ей
    #32537126
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не въехал честно говоря в то что нужно, но вроде как если две таблицы, то их не джойнить соединять надо, а объединять. И вобще, если таблицы одинаковые, то зачем их 2 штуки??
...
Рейтинг: 0 / 0
Соединение двух таблиц с группировкой по значениям из 3-ей
    #32537136
sYstEmiZer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Структура одинаковая - данные разные. Как их можно объединить, залезая при этом в таблицу-справочник?
...
Рейтинг: 0 / 0
Соединение двух таблиц с группировкой по значениям из 3-ей
    #32537227
sYstEmiZer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Похоже проблема именно с Join.
Такой запрос выдает 4708:
Код: plaintext
1.
2.
3.
4.
SELECT sum(a.quan)
FROM Income a
JOIN Outcome b ON a.pn=b.pn
WHERE a.pn like 'ALCOP10%'
У следующих двух результат по 214:
Код: plaintext
1.
2.
3.
SELECT sum(a.quan)
FROM Outcome a
WHERE a.pn like 'ALCOP10%'
Код: plaintext
1.
2.
3.
SELECT sum(a.quan)
FROM Income a
WHERE a.pn like 'ALCOP10%'

Где-то я конкретно туплю, кажется....
...
Рейтинг: 0 / 0
Соединение двух таблиц с группировкой по значениям из 3-ей
    #32537261
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не пойму, причём тут JOIN вобще? Тут UNION нужен - я же тебе писал. Раз не хочешь таблица объединять, делай общее представление на них, которое потом будет тормозить при использовании. Можно ХП чтобы она считала, но лучше таки таблицы постараться объединить.
...
Рейтинг: 0 / 0
Соединение двух таблиц с группировкой по значениям из 3-ей
    #32537304
sYstEmiZer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gold , понимаешь в чем дело - у меня сначала ЮНИОН и было, но так как товары в таблицах повторяются - приходилось их на клиенте сворачивать, суммируя все показатели (вес объем и т.п.), а это очень долго.

Вот и хотел через join с группировкой, а как еще можно?
...
Рейтинг: 0 / 0
Соединение двух таблиц с группировкой по значениям из 3-ей
    #32537346
Малиновский Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На этом же форуме есть книжка (перевод на русский):

М.Грабер. Понимание SQL:

http://www.sql.ru/docs/sql/u_sql/index.shtml

А еще я сегодня на Арбате, в Доме Книге (второй этаж) видел вариант перевода "Введение в SQL" называется. Стоит 264 рубля.

Я года два назад читал, лучше ничего пока не видел (в смысле - "сложные" конструкции SQL для тупых, типа меня).

Советую купить, легко читается даже за завтраком.
...
Рейтинг: 0 / 0
Соединение двух таблиц с группировкой по значениям из 3-ей
    #32537380
sYstEmiZer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Малиновский Владимир. Дорого купил - здесь 150 руб. с доставкой :)
А если серьезно - посоветуйте как сделать?
...
Рейтинг: 0 / 0
Соединение двух таблиц с группировкой по значениям из 3-ей
    #32537481
vis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решение "продвинутее" :)

Используй
Код: plaintext
1.
2.
3.
4.
CREATE VIEW <все_таблицы> AS
     SELECT ... FROM <таблица_1>
     UNION
     SELECT ... FROM <таблица_2>

и группируй
Код: plaintext
1.
2.
SELECT ... FROM <все_таблицы>
    GROUP BY <чё_надо>
...
Рейтинг: 0 / 0
Соединение двух таблиц с группировкой по значениям из 3-ей
    #32537497
Tonny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если структуры обоих таблиц одинаковое, то слить всё в одну таблицу, добавив поле - признак: например, для первой таблицы оно равно 1, для второй - 2. тогда операции, которым надо обе таблицы сразу их и имеют, а всем остальным добавить проверку на признак.
...
Рейтинг: 0 / 0
Соединение двух таблиц с группировкой по значениям из 3-ей
    #32537986
Фотография Johnmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Похоже проблема именно с Join.
Такой запрос выдает 4708:
...
FROM Income a
JOIN Outcome b ON a.pn=b.pn
...
У следующих двух результат по 214:
...
Где-то я конкретно туплю, кажется....


Это говорит о том, что в таблице a присутствует 22 записи, соответствующих одной из b для 'ALCOP10%' .
...
Рейтинг: 0 / 0
Соединение двух таблиц с группировкой по значениям из 3-ей
    #32540611
sYstEmiZer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 vis.
Интересно, а как же
авторОдиночное представление должно основываться на одиночном запросе; ОБЪЕДИНЕНИЕ (UNION) и ОБЪЕДИНЕНИЕ ВСЕГО (UNIOM ALL) не разрешаются.
...
Рейтинг: 0 / 0
Соединение двух таблиц с группировкой по значениям из 3-ей
    #32540663
sYstEmiZer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извиняюсь! Понял - все заработало! Файрберд ворева :)
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Соединение двух таблиц с группировкой по значениям из 3-ей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]