Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/01/2018, 09:07
mblascog
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 565
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: Columna ... en where clause es desconocida

Gracias .... ya veo ... estoy muy anticuada
Ya sé que he cerrado el tema, pero yo sigo liada con él. Tengo la siguiente sentencia mysql pero no me devuelve lo que yo busco:
Código MySQL:
Ver original
  1. SELECT tablaSC.sc, pp.pieza, pp.proveedor, pp.precio, pp.fentregado FROM (SELECT SUBSTR(sc,1,4) sc, expedicio FROM sc WHERE expedicio = '0000-00-00') tablaSC
  2. INNER JOIN pedidos p ON substr(p.maquina,1,4)=tablaSC.sc OR substr(p.maquina,2,4)=tablaSC.sc
  3. INNER JOIN pedidos_piezas pp ON p.pedido = pp.pedido
  4. WHERE tablaSC.expedicio = '0000-00-00'

Fabricamos máquinas y para ello debemos comprar material.
- tablaSC: son las máquinas
- pedidos: son los pedidos que hacemos de cada máquina
- pedidos_piezas: es el detalle del pedido

Por lo que: 1 máquina -> varios pedidos -> varios pedidos_piezas

Alguna relación entre tablas hago mal, por lo que me devuelve un número superior de registros de la tabla pedidos_piezas. Lo cual, no es correcto.

He probado de anidar los dos joins, con el mismo resultado:
Código MySQL:
Ver original
  1. SELECT tablaSC.sc, pp.pieza, pp.proveedor, pp.precio, pp.fentregado FROM (SELECT SUBSTR(sc,1,4) sc, expedicio FROM sc WHERE expedicio = '0000-00-00') tablaSC
  2. INNER JOIN (pedidos p INNER JOIN pedidos_piezas pp ON p.pedido = pp.pedido) ON (substr(p.maquina,1,4)=tablaSC.sc OR substr(p.maquina,2,4)=tablaSC.sc)
Gracias
__________________
Qué fácil cuando lo sabes y qué difícil cuando no

Última edición por mblascog; 18/01/2018 a las 10:09