SQL - Получить имя месяца и SUM () каждого месяца - PullRequest
0 голосов
/ 23 мая 2018

У меня есть следующая задача для таблицы:

  • Показать название месяца , количество заказов и общую стоимость заказа за каждый месяц

и у меня есть диаграмма для моих текущих таблиц Таблицы

Извините, что это на иностранном языке, но я переведу.

  • Pedido означает Order
  • Produto для Product Cliente для клиента и
  • Item_Pedido для Order_Item

Я пытался присоединиться к таблицам, а затем пытался захватитьмесяц по имени, но с треском провалился, любая помощь приветствуется!

Я предполагаю, что мне придется GROUP BY SELECT результат даты заказа?

Это Oracle SQL

Пробный запрос

SELECT Clientte.nm_cliente, Item_pedido.nr_quantidade "Quantidade", Pedido.dt_venda 
FROM Clientte INNER JOIN Pedido
ON Clientte.id_cliente = Pedido.id_cliente
INNER JOIN Item_pedido
ON Pedido.id_pedido = item_pedido.id_pedido
INNER JOIN Produto
ON item_pedido.id_produto= Produto.id_Produto;

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

Я думаю, вам может понадобиться что-то подобное.

SELECT to_char(Pedido.dt_venda, 'Month') as mon, 
    Clientte.nm_cliente, 
    count(distinct id_pedido) as num_orders,
    sum(Item_pedido.nr_quantidade * produto.nr_preco) total_value 
FROM Clientte 
INNER JOIN Pedido
  ON Clientte.id_cliente = Pedido.id_cliente
INNER JOIN Item_pedido
  ON Pedido.id_pedido = item_pedido.id_pedido
INNER JOIN Produto
  ON item_pedido.id_produto= Produto.id_Produto
GROUP BY to_char(Pedido.dt_venda, 'Month');

Два предположения - вы говорите, что хотите «количество заказов», поэтому я предполагаю, что вы имеете в виду количество уникальных ID_PEDIDO за этот месяц,Вместо этого вы могли бы хотеть sum(nr_quantidade), общее количество заказанных товаров, я не уверен.

Во-вторых, вы хотите "общую стоимость заказа", что, как я предполагаю, означает общее количество товара *цена на все товары в каждом заказе.

0 голосов
/ 23 мая 2018
SELECT Count(*), ID_PEDIDO, EXTRACT(month FROM date) FROM Pedido 
GROUP BY ID_PEDIDO, EXTRACT(month FROM date)

Вы видите, приближает ли это вас?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...