MySQL - Como utilizar un campo del resultado de una consulta en otra subconsulta

 
Vista:
sin imagen de perfil

Como utilizar un campo del resultado de una consulta en otra subconsulta

Publicado por EMANUEL (1 intervención) el 06/06/2018 18:53:56
Me pueden dar una idea de que método usar para realizar una consulta en donde
utilizo un campo del resultado de una consulta(Encabezado) en otra subconsulta,
Les dejo el query que arme y si me funciona pero solo cuando le indico directamente el valor(idcliente), lo que yo quiero es que sea dinámico de acuerdo a la consulta encabezado.

1
2
3
4
5
6
7
8
9
10
11
12
SELECT p.*, CONCAT(r.NOMBRE, r.APPATERNO,r.APMATERNO) NombreRepresentante, c.NOMBRE, k.CantPronostico, k.CantModificado,
    (SELECT SUM(b.CantidadActual)cantactual FROM pronosticoventasdet s
        LEFT JOIN (SELECT  d.id_producto,SUM(d.cantidad) CantidadActual FROM facturacion f
            LEFT JOIN detfacturacion d ON d.facturaid=f.facturaid
            WHERE YEAR(CONVERT(f.FechaEmiFactura,DATE))= '2017' AND f.estatusf=2 AND f.folioid=1 AND f.clienteid = 5827 /*AQUI ES DONDE REQUIERO QUE EL CLIENTE SE CAMBIE POR CADA CONSULTA DEL ENCABEZADO  p.idCliente, Marca error porque el Interprete no lo reconoce */ GROUP BY  d.id_producto
          ) b ON b.id_producto=s.ID_PRODUCTO
     WHERE s.idPronostico = p.idPronostico
    ) CantidadActual
    FROM pronosticoventas p
    LEFT JOIN representantes r ON r.ID_REPRESENTANTE = p.representante
    LEFT JOIN clientes c ON c.ID_CLIENTE = p.idCliente
    LEFT JOIN (SELECT idPronostico, SUM(CantPronost) CantPronostico, SUM(CantModificado) CantModificado FROM pronosticoventasdet GROUP BY idPronostico) k ON k.idPronostico = p.idPronostico

Saludos.
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
sin imagen de perfil
Val: 953
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Como utilizar un campo del resultado de una consulta en otra subconsulta

Publicado por leonardo_josue (414 intervenciones) el 06/06/2018 20:04:26
hola Emanuel:

sin saber cómo es tu modelo de DB's y qué información almacenas en cada tabla resulta complicado sino es que imposible saber que hace tu consulta y qué es lo que tienes que hacer para cambiarla... Mucho ojo con eso, veo que es tu primer post así es que algunas recomendaciones.

1. Postea siempre la estructuta de tus tablas y para cada tablas por algunos datos de ejemplo.
2. Cuando postees una consulta, dinos qué es lo que está arrojando como resultado esa consulta y qué es lo que está mal o lo que quieres corregir, así podremos decirte si hay forma de hacerlo con lo que tienes o si hay alguna otra alternativa distinta a lo que estás planteando que arroje el resultado esperado.
3. Utiliza las herramientas que te proporctiona el editor para darle formato a tus consultas, así por ejemplo puedes utilizar la opción </> que está junto a la carita feliz para indicar que se trata de un código.

De entrada te comento que tu consulta seguramente se puede simplificar, ya que estás usando demasiadas subconsultas y estás duplicando algunas de ellas como pronosticoventas... entonces, si sigues los pasos 1 y 2 que te puse arriba, seguramente te podremos indicar alguna otra posibilidad para hacer lo que necesitas.

Saludos
Leo.
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