Agréger les tables SQL dans les requêtes de différentes manières
P粉162773626
P粉162773626 2023-09-09 13:54:44
0
1
461

J'ai trois tables en SQL

order_table (order_id, product_id, amount)
products_table (product_id, name, price_usd),
all_orders (order_id, customer_id, order_date, total_amount),

Je souhaite générer une requête SQL qui génère le revenu total de chaque produit par mois au cours des 12 derniers mois.

J'ai besoin d'une manière ou d'une autre de séparer les différents produits mais je ne sais pas comment structurer une telle requête.

Tous les conseils seraient formidables

P粉162773626
P粉162773626

répondre à tous(1)
P粉043432210

La

réponse donnée par est d'utiliser WITH...., ce qui n'est pas nécessaire :

select 
   DATE_FORMAT(all_orders.order_date, '%Y-%m') as order_date, 
   name as product_name, 
   sum(total_amount) as total_quantity, 
   sum(price_usd * total_amount) as total_revenue 
from all_orders
LEFT JOIN order_table USING (order_id)
LEFT JOIN products_table USING (product_id)
where all_orders.order_date >= date_sub(current_date(), interval 12 month)
group by 1,2 ;

Devrait faire la même chose (non testé)

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal