Pator56 Posted July 30, 2015 Share Posted July 30, 2015 Bonjour, Petit souci que je n'arrive pas à résoudre : J'ai créé la requête SQL suivante dans le gestionnaire SQL : SELECT *FROM pre7365_customer c JOIN pre7365_address a ON c.id_customer = a.id_customer JOIN pre7365_country co ON co.id_country = a.id_country JOIN pre7365_customer_group cg ON c.id_customer = cg.id_customer WHERE cg.id_group=4 Cette requête marche bien. Mais je voudrais restreindre ses résultats et ne pas imprimer toutes les colonnes. Or quand je restreint, sur le modèle suivant : SELECT c.firstname c.lastname a.address1 a.address2FROM pre7365_customer c JOIN pre7365_address a ON c.id_customer = a.id_customer JOIN pre7365_country co ON co.id_country = a.id_country JOIN pre7365_customer_group cg ON c.id_customer = cg.id_customer WHERE cg.id_group=4 Ca plante, ou plutôt, ça me sort une table vide (j'ai aussi essayé avec des virgules). J'aimerais bien comprendre pourquoi. Patrick www.cramcram.fr Link to comment Share on other sites More sharing options...
rvcat Posted August 6, 2015 Share Posted August 6, 2015 SELECT c.firstname, c.lastname, a.address1, a.address2FROM pre7365_customer cleft JOIN pre7365_address a ON c.id_customer = a.id_customerleft JOIN pre7365_country co ON co.id_country = a.id_countryJOIN pre7365_customer_group cg ON c.id_customer = cg.id_customer and cg.id_group=4 ça devrait être mieux, si tu t'es pas trompé avec les champs pre7365_country elle te sert à quoi ? Link to comment Share on other sites More sharing options...
Pator56 Posted September 11, 2015 Author Share Posted September 11, 2015 Ah ! Un grand merci, RV. Ca marche. J'ai rajouté l'ensemble de l'adresse (d'où la présence de la table country). Pour être parfait il faudrait qu'on puisse faire un tri sur le type d'adresse (livraison ou facturation) mais j'ai l'impression que ce n'est guère possible, elles ne sont pas identifiées dans Prestashop (ou alors, dans les commandes, mais là ça devient compliqué). Du coup j'ai sorti aussi l'alias, c'est déjà une indication. Link to comment Share on other sites More sharing options...
rvcat Posted September 11, 2015 Share Posted September 11, 2015 (edited) SELECT 1 as ordre, /* LIVRAISON */ c.firstname, c.lastname, a.address1, a.address2FROM pre7365_customer cJOIN pre7365_customer_group cg ON c.id_customer = cg.id_customer and cg.id_group=4JOIN pre7365_address a ON a.id_customer = cg.id_customerJOIN pre7365_orders od ON od.id_customer = a.id_customer and od.id_address_delivery = a.id_addressUNIONSELECT 2 as ordre, /* FACTURATION */ c.firstname, c.lastname, a.address1, a.address2FROM pre7365_customer cJOIN pre7365_customer_group cg ON c.id_customer = cg.id_customer and cg.id_group=4JOIN pre7365_address a ON a.id_customer = cg.id_customerJOIN pre7365_orders od ON od.id_customer = a.id_customer and od.id_address_invoice = a.id_addressORDER BY 2,3,1 le tri est : firstname, lastname, adresse de livraison puis les adresses de facturation Edited September 11, 2015 by rvcat (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now