Jump to content

Edit History

Manuel_GT

Manuel_GT

Hola @nanolibero

El país del usuario está en su dirección, así que debes hacer un "join" de ambas tablas:

SELECT a.email FROM ps_customer a, ps_address b WHERE a.id_customer = b.id_customer AND b.id_country=xx

donde "xx" es el id del pais de la tabla ps_country;

Si te resulta mas fácil, podemos simplificar este valor complicando un poco la sql:

SELECT a.email FROM 
	ps_customer a, 
	ps_address b,
	ps_country c 
WHERE 
a.id_customer = b.id_customer AND 
b.id_country = c.id_country AND
c.iso_code='ES'

Ahora en lugar del id puedes usar el Iso_code del país. 

Solo una nota. Aunque no es lo normal, puesto que el país de un usuario lo obtenemos de la dirección, si un usuario tiene varias direcciones en el país aparecerá su email varias veces.  Tantas como direcciones tenga. Evitamos esto usando la función distinct:

SELECT distinct(a.email) FROM 
	ps_customer a, 
	ps_address b,
	ps_country c 
WHERE 
a.id_customer = b.id_customer AND 
b.id_country = c.id_country AND
c.iso_code='ES'

Espero te sirva.

Manuel_GT

Manuel_GT

Hola @nanolibero

El país del usuario está en su dirección, así que debes hacer un "join" de ambas tablas:

SELECT a.email FROM ps_customer a, ps_address b WHERE a.id_customer = b.id_customer AND b.id_country=xx

donde "xx" es el id del pais de la tabla ps_country;

Si te resulta mas fácil, podemos simplificar este valor complicando un poco la sql:

SELECT a.email FROM 
	ps_customer a, 
	ps_address b,
	ps_country c 
WHERE 
a.id_customer = b.id_customer AND 
b.id_country = c.id_country AND
c.iso_code='ES'

Ahora en lugar del id puedes usar el Iso_code del país. 

Espero te sirva.

×
×
  • Create New...