Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Одним запросом - реально? / 3 сообщений из 3, страница 1 из 1
06.10.2016, 11:09
    #39321723
Тупой!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одним запросом - реально?
Добрый день, Господа!
Подскажите, как рационально решить следующую задачу...
Имеются три таблицы: товары (их реально немного, где-то 60-80 штук), история продаж и остатки...

В упрощенном виде структура следующая:
goods :
id
name

order_history :
id
s_date
good_id
price

balance :
id
s_date
order_id
count

Все три таблицы связаны по ID (goods.id - order_history.good_id, order_history.id - balance.order_id).
Задача - на любую произвольную дату получить суммовой остаток всех товаров! То есть на каждый товар я должен получить ближайшую по дате запись из баланса и истории продаж (из баланса соответственно количество, из истории продаж - цену).

Понятно, что можно в цикле перебирать все товары по ID и в каждой итерации выполнять SQL запрос, но как то это... не нравится мне такой вариант! :) Есть ли возможность решить задачу изящно - одним запросом?

Буду благодарен за любые идеи!
...
Рейтинг: 0 / 0
06.10.2016, 12:40
    #39321813
Тупой!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одним запросом - реально?
Уж не знаю, насколько верное решение принял...
Внес некоторую избыточность в БД - в баланс добавил поле "цена продажи"...
В этом случае одним запросом сумел реализовать задачу!
...
Рейтинг: 0 / 0
06.10.2016, 16:17
    #39322091
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одним запросом - реально?
Тупой!Есть ли возможность решить задачу изящно - одним запросом?Не вижу противнопоказаний. Если приведёшь в порядок структуру.

Тупой!Внес некоторую избыточность в БДОна у тебя и так избыточна. Более того, потенциально противоречива. Не вижу никаких ограничений, которые могут запретить мне внести новую запись в balance такую, что разность между этой и предыдущей записью по количеству не будет соответствовать суммарному количеству из order_history за тот же период.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Одним запросом - реально? / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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