Jump to content

Récupérer Base clients en SQL


Recommended Posts

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 !

 

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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`

Share this post


Link to post
Share on other sites

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,

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More