Задавайте вопросы, мы ответим
Вы не зашли.
Есть запрос с джойном:
Есть таблицы:
stuff: (товары)
id|name
orders: (заказанные товары)
id|stuff_id|count
и stock (пополнение складов):
id|stuff_id|count
есть запрос, выбирающий сколько уже заказано товара, и какого товара. Нужно подключить таблицу stock, чтобы из суммы полей SUM(stock.count) при группировке по count.stuff_id вычитать имеющуюся у меня сумму SUM(orders.count). Дело в том, что я не знаю как подключить третью таблицу к запросу (stock) и получить разницу сумм полей.
В двух словах для ясности:
я делаю запрос
Неактивен
Да всё просто, добавляете очередной джоин, их хоть десяток можно прописывать Ну и с арифметикой чуток поколдовать придётся:
SELECT
stuff.id,
stuff.title,
orders.stuff_id,
SUM(orders.count) as `orders`,
SUM(stock.count)-SUM(order.count) as `stock`,
FROM stuff
INNER JOIN orders
ON orders.stuff_id = stuff.id
INNER JOIN stock
ON stock.stuff_id = stuff.id
GROUP BY stuff.id
Неактивен
Neval написал:
Да всё просто, добавляете очередной джоин, их хоть десяток можно прописывать Ну и с арифметикой чуток поколдовать придётся:
SELECT
stuff.id,
stuff.title,
orders.stuff_id,
SUM(orders.count) as `orders`,
SUM(stock.count)-SUM(order.count) as `stock`,
FROM stuff
INNER JOIN orders
ON orders.stuff_id = stuff.id
INNER JOIN stock
ON stock.stuff_id = stuff.id
GROUP BY stuff.id
Данный код вызывает у меня ошибку
dbForge Studio написал:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM stuff
INNER JOIN orders
ON orders.stuff_id = stuff.id
INNER J' at line 7
так что пришлось сделать подзапросы. На ответах гугла подсказали.
Неактивен
Хозяин барин конечно, у меня там запятая лишняя перед "FROM", написано же, ошибка синтаксическая
Неактивен
Neval написал:
Хозяин барин конечно, у меня там запятая лишняя перед "FROM", написано же, ошибка синтаксическая
Да, извините, не углядел. Время позднее (на дату сообщений посмотрите) И голова уже начинала уходить спать без моего ведома.
Я запустил ваш запрос, и получил результат, который я в принципе и ожидал. Я пытался делать похожий запрос, но результат получается не правильным.
Ваш запрос учитывает группировку только к одной таблице, а для получения нужных сумм в двух разных таблицах в любом случае необходимо сделать две отдельные выборки, и работать затем с таблицами, полученные из подзапросов, и уже имеющие в себе необходимые значения. Но, спасибо за помощь)
Неактивен