MadeleinePurbeurre Posted November 16, 2016 Share Posted November 16, 2016 Bonjour, J'aimerai récupérer ma base client sous une certaine forme avec une seule requête SQL et après plusieurs essais, je n'y parviens toujours pas... Je cherche à avoir un export en xls sous la forme suivante... id_customer - email - firstname - lastname - address1 - address2 - postcode - city - country - phone - mobile_phone - birthday J'y arrive avec plusieurs requêtes mais je dois ensuite faire correspondre le tout sur excel... Et c'est une vraie galère. Avez-vous une solution plus efficace ? Merci ! Link to comment Share on other sites More sharing options...
Eolia Posted November 16, 2016 Share Posted November 16, 2016 C'est possible avec un JOIN mais si vos clients ont plusieurs adresses ? 1 Link to comment Share on other sites More sharing options...
Hotfirenet Posted November 16, 2016 Share Posted November 16, 2016 Salut, le truc c'est que si ton client à plusieurs adresses tu vas le retrouver plusieurs fois dans le résultat de la requête suivante car il n'y a pas d'adresse par défaut. J'ai ajouté le nom et prénom des 2 tables il ne te reste plus qu'a faire tà sauce. SELECT C.id_customer ,C.email ,C.firstname ,C.lastname ,A.firstname ,A.lastname ,A.address1 ,A.address2 ,A.postcode ,A.city ,A.phone_mobile ,C.birthday FROM ps_customer C INNER JOIN ps_address A ON A.id_customer = C.id_customer ps_ est le préfixe, a toi d'adapter Link to comment Share on other sites More sharing options...
Eolia Posted November 16, 2016 Share Posted November 16, 2016 Avec un group by on limite au 1er résultat, mais est-ce le tableau attendu ? SELECT c.`id_customer`, c.`firstname`, c.`lastname`,c.`birthday`,a.`address1`,a.`address2`,a.`postcode`,a.`city`,a.`phone`,a.`phone_mobile` FROM `ps_customer` c INNER JOIN `ps_address` a ON (a.`id_customer` = c.`id_customer`) GROUP BY c.`id_customer` Link to comment Share on other sites More sharing options...
MadeleinePurbeurre Posted November 21, 2016 Author Share Posted November 21, 2016 Merci à vous pour vos réponses. J'ai rajouté l'email à la requête d'Eolia et j'ai quelques adresses qui sautent mais bon... Rien de dramatique. Cela donne : SELECT c.`email`, c.`id_customer`, c.`firstname`, c.`lastname`,c.`birthday`,a.`address1`,a.`address2`,a.`postcode`,a.`city`,a.`phone`,a.`phone_mobile` FROM `ps_customer` c INNER JOIN `ps_address` a ON (a.`id_customer` = c.`id_customer`) GROUP BY c.`id_customer` Je faisais mal l'INNER JOIN dans mes requêtes précèdentes.... Merci encore, 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