SQL - consulta con varias tablas

   
Vista:

consulta con varias tablas

Publicado por J chumi23@hotmail.com (3 intervenciones) el 18/09/2017 09:54:35
Hola necesito hacer una consulta con varias tablas que no doy con la formula, a ver si alguien me puede ayudar.
De la tabla V_LINEASVENTA idproducto, idbase, cantidad, fecha
Left join PRODUCTOS idproducto, codigo, descripcion, idiva
PRECIOSPRODUCTO idproducto, precioventa
PRECIOSCOMPRA idproducto, precioscompra
IVA idiva
WHERE fecha <= ' & (desde) & ' >= ' & (hasta) &' order by idbase
(Mayúsculas = Tablas, minúsculas = campos)
Muchas gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

consulta con varias tablas

Publicado por xve (279 intervenciones) el 18/09/2017 14:29:38
La estructura del join no la tienes correcta...

Mira este ejemplo de: https://www.w3schools.com/sql/sql_join.asp
1
2
3
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

consulta con varias tablas

Publicado por Zausen (3 intervenciones) el 18/09/2017 16:12:07
Ve de menor dependencia a mayor dependencia. Entonces va algo as (Te pongo algo genérico)í:

1
2
3
4
5
Select tabla.campo, tabla.campo, tabla.campo
FROM TablaConMenosDependencia INNER JOIN
( SegundaTAblaConMenorDependencia INNER JOIN TerceraTablaDependiente ON SegundaTAblaConMenorDependencia.Clave = TerceraTablaDependiente.Clave)
ON TablaConMenosDependencia.Clave = TablaQueEsteRelacionadaConLaPrimera.Clave
WHERE condición;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

consulta con varias tablas

Publicado por Jesús Aguilera chumi23@hotmail.com (3 intervenciones) el 19/09/2017 08:49:44
1
2
3
4
SELECT lv.idproducto IDPRODUCTO, p.codigo CODIGO, p.descripcion DESCRPCION, p.idiva IVA,
pc.preciobasecompra P.COMPRA, pp.precioventaref P.VENTA, lv.cantidad CANTIDAD FROM
V_LINEASVENTA lv LEFT JOIN PRODUCTOS p ON  lv.idproducto=p.idproducto LEFT JOIN PRECIOSCOMPA pc on p.idproducto=pc.idproducto LEFT JOIN PRECIOSPRODUCTOS pp ON
p.idproducto=pp.idproducto WHERE lv.fechahora >= '2017/08/01' AND lv.fechahora <= '2017/09/01' ORDER BY lv.idbase"

a ver que tal, sigue sin funcionarme.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

consulta con varias tablas

Publicado por Zausen (3 intervenciones) el 19/09/2017 15:03:19
Si quieres ponerle un alias a algo ¿No es tabla.campo AS "Alias"? (O campo AS "Alias") Lo mismo imagino con las tablas en el from. Aunque ahí no estoy muy seguro, puede que te falle por eso.

En cuanto a tu left join yo lo haría de otra manera. Al menos siempre lo hice de otra, lo que haría sería:

FROM t1 LEFT JOIN (t2 LEFT JOIN t3 ON t2.b=t3.)
ON t1.a=t2.a; nunca me ha dado errores esta forma.


toma, hay muchas formas de unirlo todo. Es cosa de organizarlo bien. Aunque posiblemente sean los alias los que te den problemas. (No sé si se puede poner cómo lo has puesto tu, pero creo que no).

En cuanto a las comparaciones de fechas... ¿Les deberías añadir hora si estás comparando con un timestamp o un datetime? Prueba también. (luego tienes una " al final, no sé si es que la has puesto ahora o la tenías antes XD)

Te dejo también un enlace interesante.

https://dev.mysql.com/doc/refman/5.7/en/nested-join-optimization.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

consulta con varias tablas

Publicado por jesus aguilera chumi23@hotmail.com (3 intervenciones) el 19/09/2017 19:49:43
Ya está ya lo he solucionado, efectivamente era cuestión de organización. muchas gracias a todos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad