Cita:
Iniciado por jurena he replicado tu estructura en la medida en que he podido, he incluido datos y he probado esta consulta que tú probaste, y el resultado sí ha sido el esperado.
Código MySQL:
Ver original(SELECT mov_articulos.prod_cod
, mov_articulos.prod_nom
, SUM(mov_articulos.prod_cant
) AS egresos
ON mov_factura.nro_factura
= mov_articulos.id_comp
(SELECT mov_prov_articulos.prod_cod
, mov_prov_articulos.prod_nom
, SUM(mov_prov_articulos.prod_cant
) AS ingresos
ON mov_prov_factura.nro_factura
= mov_prov_articulos.id_comp
Bien hice las siguientes pruebas directamente en la sql del server en vez de en el php para descartar algun error en esa parte. Y descubri algo a ver si a ustedes les cierre, hice esta prueba:
consulte:
Código MySQL:
Ver originalSELECT mov_articulos.prod_cod
, mov_articulos.prod_nom
, SUM( mov_articulos.prod_cant
) AS egresos
INNER JOIN mov_factura
ON mov_factura.nro_factura
= mov_articulos.id_comp
RESULTADO: devuelve datos en estas tres columnas: (10 resultados)
prod_cod
prod_nom
egresos
luego consulte:
Código MySQL:
Ver original(SELECT mov_prov_articulos.prod_cod
, mov_prov_articulos.prod_nom
, SUM(mov_prov_articulos.prod_cant
) AS ingresos
ON mov_prov_factura.nro_factura
= mov_prov_articulos.id_comp
RESULTADO: Me dio otros datos con estas columnas: (1046 resultados)
prod_cod / prod_nom / ingresos
y por ultimo consulto todo el codigo:
Código MySQL:
Ver original(SELECT mov_articulos.prod_cod
, mov_articulos.prod_nom
, SUM(mov_articulos.prod_cant
) AS egresos
ON mov_factura.nro_factura
= mov_articulos.id_comp
(SELECT mov_prov_articulos.prod_cod
, mov_prov_articulos.prod_nom
, SUM(mov_prov_articulos.prod_cant
) AS ingresos
ON mov_prov_factura.nro_factura
= mov_prov_articulos.id_comp
RESULTADO: mismas tres columnas que el principio pero ojo con
1056 resultados.
prod_cod
prod_nom
egresos
Es decir me esta mostrando los resutlados convinados correctamente. Sera que el UNION esta juntando los resultados en uno solo (el primero) y no me deja llamarlos por separado? por eso el segundo alias "ingresos" no tiene contenido??
creo que ahi estaba el problema.. que piensan? de ser asi quizas no pueda recuperar los dos campos por separado y necesite hacer una consulta aparte.