Corrección Consulta...
Avisos
Vaciar todo

Corrección Consulta SQL  

 
Viñas Selectas
 Viñas Selectas
Usuario experto

Hola amigos. Tengo la siguiente consulta SQL para generar una orden de compra pero no puedo recuperar el dato del proveedor. Ustedes me pueden ayudar para corregir la consulta ?

SELECT d.id_order, os.id_order_state AS ID_Estado, os.name AS estado, o.date_upd AS fecha, d.product_name AS producto, d.product_reference AS ref_ReleMat, d.product_supplier_reference AS ref_proveedor, su.name AS Proveedor, d.product_quantity AS uds, CONCAT_WS( ' ', g.firstname, g.lastname ) AS cliente, CONCAT_WS(' ', ad.address1, ad.address2, ad.postcode, ad.city, ad.other, ad.phone, ad.phone_mobile) AS envio, gl.name AS grupo
FROM ps47f_order_detail d
LEFT JOIN ps47f_orders o ON ( d.id_order = o.id_order )
LEFT JOIN ps47f_customer g ON ( o.id_customer = g.id_customer )
LEFT JOIN ps47f_stock_available s ON (d.product_id = s.id_product)
LEFT JOIN ps47f_address ad ON (o.id_address_delivery = ad.id_address)
LEFT JOIN ps47f_address ai ON (o.id_address_invoice = ai.id_address)
LEFT JOIN ps47f_group_lang gl ON ( g.id_default_group = gl.id_group )
LEFT JOIN ps47f_order_state_lang os ON ( o.current_state = os.id_order_state )
LEFT JOIN ps47f_supplier su ON ( d.product_supplier_reference = su.id_supplier )
WHERE os.id_lang =1 and os.id_order_state=3
GROUP BY d.id_order, d.product_name
ORDER BY d.id_order DESC

Saludos cordiales

URL del sitio: Contenido solo visible a usuarios registrados

Citar
Respondido : 08/10/2016 12:22 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola.
Tengo la siguiente consulta SQL para generar una orden de compra pero no puedo recuperar el dato del proveedor

¿ Cuando dices que no puedes recuperar el dato, te estas refiriendo a que te conectas a una base de datos externa ( Base de datos de tu proveedor ) para actualizar datos de productos, etc ?

¿ tienes acceso a la base de datos de ese proveedor ?

¿ esa consulta de donde la sacaste, te la dio tu proveedor ?

Perdona las consultas, pero nos hacen falta datos para poder informarte mejor.

Un saludo

ResponderCitar
Respondido : 08/10/2016 1:15 pm

wpdoctor-revisa-la-salud-de-tu-wordpress

Viñas Selectas
 Viñas Selectas
Usuario experto

Estimado Pepe. Esta consulta la hice en referencia a otras que se encuentran en un foro de prestashop.
La realizo en Parametros avanzados--> consultas MySQL
Quiero tener información de los productos que se compran para hacer la solicitud de producto a mis proveedores y agilizar mi tiempo de proceso y entrega, y no he encontrado otra forma de realizarlo.
La idea es tener los productos comprados, descripciones, cantidades, id proveedor y descripción proveedor, factura y otros datos más.
Con ello puedo exportar a Excel y hacer las ordenes de compra para cada proveedor.

Les pido su ayuda ya que no tengo experiencia en la creación de consultas sql pero se que me van a servir mucho estos datos.

ResponderCitar
Respondido : 08/10/2016 6:35 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

Hola

Te aparece algùn error en la consulta? o simplemente no tienes datos?

Envía la url del foro desde donde sacaste la consulta.

He probado la consulta desde PHPMyadmin y no veo errores en sintaxis, no me devuelve registros pero si tu si tienes datos si que deberìa devolverte al menos algunos pedidos. Podrías probar también esto, desde tu cuenta de Cpanel > PHPMyadmin > Selecciona tu BD y luego en el tab de SQL colocar la consulta y luego ejecturar (continuar)

La consulta tiene una condicion
WHERE os.id_lang =1 and os.id_order_state=3

Quiere decir que esta funcionando sólo para un idioma (con id=1 ) y para un tipo de pedido (id=3)

Saludos.

ResponderCitar
Respondido : 08/10/2016 7:47 pm

Viñas Selectas
 Viñas Selectas
Usuario experto

Estimado John La consulta si recupera los datos pero Necesito que me indiques cuales son los campos que debo agregar para que me devuelva el proveedor de cada producto.

Saludos

ResponderCitar
Respondido : 08/10/2016 7:54 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

Hola

Prueba agregando su.name , que es el alias de la tabla supplier y name el nombre del campo, tu consulta quedaría :

SELECT d.id_order, su.name proveedor, os.id_order_state AS ID_Estado, os.name AS estado, o.date_upd AS fecha, d.product_name AS producto, d.product_reference AS ref_ReleMat, d.product_supplier_reference AS ref_proveedor, su.name AS Proveedor, d.product_quantity AS uds, CONCAT_WS( ' ', g.firstname, g.lastname ) AS cliente, CONCAT_WS(' ', ad.address1, ad.address2, ad.postcode, ad.city, ad.other, ad.phone, ad.phone_mobile) AS envio, gl.name AS grupo
FROM ps47f_order_detail d
LEFT JOIN ps47f_orders o ON ( d.id_order = o.id_order )
LEFT JOIN ps47f_customer g ON ( o.id_customer = g.id_customer )
LEFT JOIN ps47f_stock_available s ON (d.product_id = s.id_product)
LEFT JOIN ps47f_address ad ON (o.id_address_delivery = ad.id_address)
LEFT JOIN ps47f_address ai ON (o.id_address_invoice = ai.id_address)
LEFT JOIN ps47f_group_lang gl ON ( g.id_default_group = gl.id_group )
LEFT JOIN ps47f_order_state_lang os ON ( o.current_state = os.id_order_state )
LEFT JOIN ps47f_supplier su ON ( d.product_supplier_reference = su.id_supplier )
WHERE os.id_lang =1 and os.id_order_state=3
GROUP BY d.id_order, d.product_name
ORDER BY d.id_order DESC

Saludos.

ResponderCitar
Respondido : 08/10/2016 8:06 pm

Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación

Viñas Selectas
 Viñas Selectas
Usuario experto

Estimado Jhon. Ya realice el cambio pero no devuelve nada aunque si tengo asociado el producto al proveedor.

El tema es que el campo product_supplier_reference se refiere a la referencia que tiene el producto en el proveedor y NO al id de proveedor. Es por eso que no devuelve datos.

Me puedes ayudar a corregirlo? solo requiero agregar que proveedor suministra el producto

Saludos y quedo a la espera de tus indicaciones

ResponderCitar
Respondido : 08/10/2016 8:18 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

Hola

Según veo la consulta si que debería darte datos, no te aparece nada?, que es lo que te devuelve?

La tabla es : ps47f_supplier su (alias su) , por lo tanto tienes todos los campos disponibles en este alias.

Prueba con esta consulta que solo relaciona las dos tablas, pruebas probarla desde PHPMyadmin, busca la base de datos y luego en el tab de SQL pega la consulta.

SELECT su.name proveedor, d.product_name AS producto
FROM ps47f_order_detail d
LEFT JOIN ps47f_supplier su ON ( d.product_supplier_reference = su.id_supplier )

Verifica si te devuelve datos.

Saludos.

ResponderCitar
Respondido : 09/10/2016 4:15 pm

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

Viñas Selectas
 Viñas Selectas
Usuario experto

Estimado. Ya hice la revisión y no me devuelve ningún dato de proveedor.
Será que la consulta dirige mal y hay que agregar otra tabla para recuperar el dato?

ResponderCitar
Respondido : 12/10/2016 4:02 am
Jhon
 Jhon
Soporte CMS Webempresa Moderator

Hola

Estas probando en PHPMyadmin?

Verifica si esta tabla tiene datos :
ps47f_supplier

Verifica tambien si esta tiene datos
ps47f_order_detail

Verifica si al menos hay alguna relación entre ambas, es decir con el campo product_supplier_reference de la tabla ps47f_order_detail y el id de la tabla ps47f_suplier, esto lo compruebas manualmente.

Saludos.

ResponderCitar
Respondido : 12/10/2016 6:27 pm

Cursos Gratuitos WordPress