Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
15.12.2014, 13:39
|
|||
---|---|---|---|
|
|||
Сумма группы |
|||
#18+
Есть таблица "CREATE TABLE IF NOT EXISTS SelectedGoods (GoodsCode NUMERIC NOT NULL, GoodsQuantity NUMERIC NOT NULL, WarehouseNum NUMERIC NOT NULL, GoodsShipment NUMERIC NOT NULL, UNIQUE(GoodsCode, GoodsShipment, WarehouseNum) ) Необходимо получить GoodsCode, GoodsShipment, (сумму для каждой группы GoodsCode, WarehouseNum), GoodsQuantity, WarehouseNum Есть данные: GoodsCode GoodsShipment GoodsQuantity WarehouseNum 1108571 | 1649250 1 |30605 1108571 | 1657820 1 |30605 1136143 | 1651233 1 |30605 Делаю выборку из таблицы "SELECT GoodsCode, GoodsShipment, (SELECT SUM(GoodsQuantity) FROM SelectedGoods GROUP BY GoodsCode, WarehouseNum), GoodsQuantity, WarehouseNum FROM SelectedGoods GROUP BY GoodsCode, GoodsShipment ORDER BY WarehouseNum ;" Полученные данные прикреплены картинкой. Получается что сумма первой группы GoodsCode, WarehouseNum распространяется на все последующие строки. Как построить запрос чтобы сумма этой группы указывалась для каждой строчки отдельно? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.12.2014, 13:52
|
|||
---|---|---|---|
|
|||
Сумма группы |
|||
#18+
Vovsla, как минимум - нужно указать связь между внешним запросом и вложенным подзапросом. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.12.2014, 13:54
|
|||
---|---|---|---|
|
|||
Сумма группы |
|||
#18+
Как это сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.12.2014, 13:57
|
|||
---|---|---|---|
|
|||
Сумма группы |
|||
#18+
Vovsla, путем добавления условия WHERE в подзапрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.12.2014, 14:02
|
|||
---|---|---|---|
|
|||
Сумма группы |
|||
#18+
Vovsla Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.12.2014, 14:04
|
|||
---|---|---|---|
|
|||
Сумма группы |
|||
#18+
пардон, ошибочка закралась. вот так оно будет правильнее: Добрый Э - ЭхVovsla Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.12.2014, 14:51
|
|||
---|---|---|---|
|
|||
Сумма группы |
|||
#18+
Большое спасибо, работает. А можно еще сделать так чтобы в результате не выводились строки с одинаковыми "GoodsCode" и разными "WarehouseNum"? Т.е. GoodsCode | WarehouseNum 1108571 | 30605 - выводится 1108571 | 30605 - выводится 1108571 | 30777 - НЕ выводится 1108333 | 30605 - выводится 1108333 | 30777 - НЕ выводится 1108444 | 30777 - выводится ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.12.2014, 17:56
|
|||
---|---|---|---|
|
|||
Сумма группы |
|||
#18+
Vovsla, можно, если ты сможешь объяснить, почему в случае с GoodsCode = 1108333 ты берешь запись именно с WarehouseNum = 30605 , а не с WarehouseNum = 30777 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.12.2014, 11:14
|
|||
---|---|---|---|
|
|||
Сумма группы |
|||
#18+
Там где "GoodsCode = 1108333" можно взять "WarehouseNum = 30605" или "WarehouseNum = 30777" это не важно, главное чтобы они не выводились одновременно. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.12.2014, 06:32
|
|||
---|---|---|---|
Сумма группы |
|||
#18+
VovslaТам где "GoodsCode = 1108333" можно взять "WarehouseNum = 30605" или "WarehouseNum = 30777" это не важно, главное чтобы они не выводились одновременно.В таком случае, задача принципиально не решаемая. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=54&mobile=1&tid=2008725]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 152ms |
0 / 0 |