J'ai 3 tables:requête SQL pour regrouper les données de deux tables
- utilisateurs (id, nom)
- Commandes (id, userId)
- Orders_Items (id, orderId, état)
au début, je voulais énumérer tous les utilisateurs avec leur nombre respectif de commandes comme ceci:
- A, 1 pour
- B, 5 commandes
C'est facile, je fais un "select nom, compte (id) des utilisateurs, commandes où users.id = orders.userId groupe par son nom" .
Maintenant, je voudrais filtrer davantage ces données pour montrer seulement aux utilisateurs avec des commandes qui ont des articles avec status = "non traité". Je ne suis pas sûr de savoir comment regrouper les données de deux tables. En fin de compte, je suis à la recherche pour obtenir des données comme:
- (A non représentée, aucun ordre avec tout élément ayant le statut = non traité)
- B, 3 commandes (2 commandes ont aucun élément avec le statut = non traité).
Merci!
Avez-vous essayé quelque chose comme: SELECT nom, count (id) des utilisateurs, commandes, items_demandes WHERE users.id = orders.userId et orders.id = orders_items.orderid et order_items.status = 'non traité' GROUP BY name –