Difficulté sur une Jointure complexe
raptorz_
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
raptorz_ Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
raptorz_ Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je rencontre des difficultés sur une requête avec plusieurs jointures.

l'objectif est d'extraire le nombre de produits (product) et de commandes (purchase_order) par client (customer) pour les clients ayant passé au moins deux commandes avec comme colonnes attendues : lastname, purchase_count, product_count.
Ma requête est la suivante mais elle ne fonctionne pas.
J'ai un problème au niveau des jointures avec le message Ambiguous column name "PRODUCT_ID".
Si je supprime une des jointures la requête se lance.
quelqu'un aurait une idée de comment faire la requête ?
Merci d'avance
Je rencontre des difficultés sur une requête avec plusieurs jointures.

l'objectif est d'extraire le nombre de produits (product) et de commandes (purchase_order) par client (customer) pour les clients ayant passé au moins deux commandes avec comme colonnes attendues : lastname, purchase_count, product_count.
Ma requête est la suivante mais elle ne fonctionne pas.
SELECT c.lastname, COUNT (po.order_id) AS purchase_count, COUNT (p.product_id) AS product FROM customer c, purchase_order po, product p INNER JOIN customer ON po.customer_id = customer.customer_id INNER JOIN order_product ON po.order_id = order_product.order_id INNER JOIN order_product ON p.product_id = order_product.product_id HAVING purchase_count >= 2
J'ai un problème au niveau des jointures avec le message Ambiguous column name "PRODUCT_ID".
Si je supprime une des jointures la requête se lance.
quelqu'un aurait une idée de comment faire la requête ?
Merci d'avance
Configuration: Windows / Firefox 100.0
A voir également:
- Difficulté sur une Jointure complexe
- Tableau complexe word - Guide
- Sql jointure - Forum Bases de données
- Racine complexe pci express ✓ - Forum Windows 8 / 8.1
- Racine complexe ✓ - Forum Excel
- Delete avec jointure ✓ - Forum Bases de données
2 réponses
Bonjour,
Il te faut mettre des alias sur les join
Et à partir du moment où tu utilises des jointures, il faudrait les utiliser partout, donc dans le FROM n'avoir qu'une seule table, les liens avec les autres se faisant avec les jointures.
Et compte tenu de ce qu'il faut afficher, tu ne devrais avoir besoin que de 3 tables, client, commande, produits commandés.
Il te faut mettre des alias sur les join
INNER JOIN order_product AS op1
Et à partir du moment où tu utilises des jointures, il faudrait les utiliser partout, donc dans le FROM n'avoir qu'une seule table, les liens avec les autres se faisant avec les jointures.
Et compte tenu de ce qu'il faut afficher, tu ne devrais avoir besoin que de 3 tables, client, commande, produits commandés.
Bonjour,
Merci pour ta réponse je comprend un peu mieux mes erreurs.
Ce que je ne comprends pas c'est comment faire les jointures en gardant qu'une seule table sur le from.
Je suis un peu perdu la
Merci pour ta réponse je comprend un peu mieux mes erreurs.
Ce que je ne comprends pas c'est comment faire les jointures en gardant qu'une seule table sur le from.
Je suis un peu perdu la
Sur le from tu as la 1ère table et sur chaque join tu rajoutes une nouvelle table. Quelque chose comme (SGDG) :
SELECT c.lastname, COUNT (po.order_id) AS purchase_count, COUNT (op.product_id) AS product FROM customer c INNER JOIN purchase_order po ON po.customer_id = c.customer_id INNER JOIN order_product op ON op.order_id = po.order_id HAVING purchase_count >= 2