Jump to content

Consulta SQL


illohacker

Recommended Posts

Hola a todos, llevo varios días haciendo una consulta pero no soy capaz de sacarla, a ver si alguien me puede echar una mano.

 

quiero sacar el id del pedido, el nombre y apellido del cliente el codigo de seguimiento de correos (ps_correos_preregister).

 

Lo que he intentado desde mis conocimientos es esto:

 

SELECT p.id_order AS IDPEDIDO,pl.firstname AS NOMBRE,pl.surname AS APELLIDO,pm.code_envio AS seguimiento  FROM ps_orders p
LEFT JOIN ps_customer pl ON p.id_order=pl.id_order
LEFT JOIN ps_correos_preregister pm ON p.id_order=pm.id_order;
Link to comment
Share on other sites

Hola,

he estado revisando tu consulta y supongo que la tabla que tratas de consultar llamada "ps_correos_preregister" la habrás creado tú por tanto revisa que los campos en los que se basa el "on" de la clausula join existen y están relacionados ya que respecto al otro join y basado en mi version de prestashop la query debería ser como te adjunto, fijaté que igualo por el campo id_customer las talbas ps_customer y ps_orders.

Respecto al apellido el campo de la tabla ps_customer que en tu consulta llamas "surname" se llama en "lastname" en mi instalación.

Trata de ejectuar esta query y hacer el join con la tabla "ps_correos_preregister"

 

Query:

 

SELECT p.id_order AS IDPEDIDO , pl.firstname AS NOMBRE , pl.lastname AS APELLIDO
-- ,pm.code_envio AS seguimiento 
FROM ps_orders p
 
LEFT JOIN ps_customer pl ON p.id_customer=pl.id_customer
 
-- LEFT JOIN ps_correos_preregister pm ON p.id_order=pm.id_order;

(fijaté que he comentado el join a ps_correos_preregister)

 

Suerte con tu query !!

Link to comment
Share on other sites

Hola,

he estado revisando tu consulta y supongo que la tabla que tratas de consultar llamada "ps_correos_preregister" la habrás creado tú por tanto revisa que los campos en los que se basa el "on" de la clausula join existen y están relacionados ya que respecto al otro join y basado en mi version de prestashop la query debería ser como te adjunto, fijaté que igualo por el campo id_customer las talbas ps_customer y ps_orders.

Respecto al apellido el campo de la tabla ps_customer que en tu consulta llamas "surname" se llama en "lastname" en mi instalación.

Trata de ejectuar esta query y hacer el join con la tabla "ps_correos_preregister"

 

Query:

 

SELECT p.id_order AS IDPEDIDO , pl.firstname AS NOMBRE , pl.lastname AS APELLIDO

-- ,pm.code_envio AS seguimiento 

FROM ps_orders p

 

LEFT JOIN ps_customer pl ON p.id_customer=pl.id_customer

 

-- LEFT JOIN ps_correos_preregister pm ON p.id_order=pm.id_order;

(fijaté que he comentado el join a ps_correos_preregister)

 

Suerte con tu query !!

 

Me ha venido de fábula, te dejo como ha quedado por si alguien la necesita en un futuro.

 

SELECT p.id_order AS IDPEDIDO , pl.firstname AS NOMBRE , pl.lastname AS APELLIDO
,p.date_upd AS FECHAENVIO,pm.code_envio AS SEGUIMIENTO FROM ps_orders p
 
LEFT JOIN ps_customer pl ON p.id_customer=pl.id_customer
 
LEFT JOIN ps_correos_preregister pm ON p.id_order=pm.order_id
 
where pm.label_printed is not null
 
ORDER BY p.id_order DESC;
 
 
Es para sacar el manifiesto detallado de correos, los que trabajamos con dicha empresa lo necesitamos y esta ayuda mucho.
 
lo que no se si se puede o no hacer es que a la hora de hacer la select yo decida de que fecha a que fecha hacerla, porque eso estaría estupendo.
Edited by illohacker (see edit history)
Link to comment
Share on other sites

Hola,

Me alegro que te haya ido bien :-)

 

Si puedes hacer lo de las fechas, tendras que hacer un where statment con p_orders y elegir porque campo del pedido quieres filtrar..

si te fijas en ps_orders tienes varios: invoice_date, delivery_date, date_add o date_upd..  imagina que usas date_add, quie sería la fecha ne la que se hizo el pedido añadirías a tu consulta lo siguiente:

 

where pm.label_printed is not null and date_add = '06-20-2014'

 

Y te mostarïa los pedidos de hoy...  del mismo modo puedes usar >, <, <=, >= o between para filtar por fechas como quieras.

 

Conozco la estructura de tablas ya que desde mi empresa he estado colaborando en un conector automático para esta gente:

http://www.prestashopconector.com/  y no me ha tocado mas cojones q empaparme la base ddatos de arriba a abajo... :-)

 

Espero saques tus pedidos

Link to comment
Share on other sites

  • nadie locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...