MySQL - como unir estas dos consultas en una

 
Vista:
sin imagen de perfil

como unir estas dos consultas en una

Publicado por add (4 intervenciones) el 14/03/2017 02:49:17
ayuda como hago para unir estas dos consultas en una


1
2
SELECT af.numero_factura AS numero_factura, af.valor_neto AS valor_factura, CONCAT( primer_nombre,  " ", segundo_nombre,  " ", primer_apellido,  " ", segundo_apellido ) AS usuario, Sum(ac.valor_neto_consulta) AS consultas
FROM (af INNER JOIN (us LEFT JOIN ac ON us.num_id = ac.numero_id ) ON af.numero_factura = ac.numero_factura) GROUP BY af.numero_factura


1
2
3
4
SELECT af.numero_factura AS numero_factura, af.valor_neto AS valor_factura,
CONCAT( primer_nombre,  " ", segundo_nombre,  " ", primer_apellido,  " ", segundo_apellido ) AS usuario, Sum(ap.valor_procedimiento) AS procedimientoss,
Sum(ap.valor_procedimiento) AS procediminetos
FROM (af INNER JOIN (us LEFT JOIN ap ON us.num_id = ap.numero_id)  ON af.numero_factura = ap.numero_factura)  GROUP BY af.numero_factura
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
Val: 796
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

como unir estas dos consultas en una

Publicado por xve (1151 intervenciones) el 14/03/2017 15:18:29
Hola Add, como quieres juntarlas en vertical u horizontal??

Es decir con UNION, puedes juntar una debajo de la otra (vertical) si tienen los mismos campos (creo que es este caso)

Con LEFT JOIN puedes juntar-los en horizontal si hay algún campo que se pueda vincular


Con UNION podría ser algo así:

1
2
3
4
5
6
7
8
9
10
11
(
    SELECT af.numero_factura AS numero_factura, af.valor_neto AS valor_factura, CONCAT( primer_nombre, " ", segundo_nombre, " ", primer_apellido, " ", segundo_apellido ) AS usuario, Sum(ac.valor_neto_consulta) AS consultas
FROM (af INNER JOIN (us LEFT JOIN ac ON us.num_id = ac.numero_id ) ON af.numero_factura = ac.numero_factura) GROUP BY af.numero_factura
)
UNION
(
    SELECT af.numero_factura AS numero_factura, af.valor_neto AS valor_factura,
CONCAT( primer_nombre, " ", segundo_nombre, " ", primer_apellido, " ", segundo_apellido ) AS usuario, Sum(ap.valor_procedimiento) AS procedimientoss,
Sum(ap.valor_procedimiento) AS procediminetos
FROM (af INNER JOIN (us LEFT JOIN ap ON us.num_id = ap.numero_id) ON af.numero_factura = ap.numero_factura) GROUP BY af.numero_factura
)

https://dev.mysql.com/doc/refman/5.7/en/union.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
sin imagen de perfil

como unir estas dos consultas en una

Publicado por add (4 intervenciones) el 14/03/2017 23:47:24
hola xve gracias por constestar las quiero unir de manera horizontal

de esta manera ejemplo:

num_factura|valor_factura| usuario |consulta|procedimiento|valor_total
301 3000 maria perez 2000 500 2500
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
Imágen de perfil de xve
Val: 796
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

como unir estas dos consultas en una

Publicado por xve (1151 intervenciones) el 15/03/2017 08:23:20
No entiendo muy bien, las dos consultas son iguales, no? y por el resultado que me indicas, con una de ellas es mas que suficiente, no? no hace falta juntar las dos consultas!!
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
sin imagen de perfil

como unir estas dos consultas en una

Publicado por add (4 intervenciones) el 21/03/2017 22:25:17
me explico mejor tengo a tablas

us
numero_id, nombres
af
numero_factura, valor_factura
ca
numero_factura,numero_id, valor_ca
pa
numero_factura, numero_id, valor_pa


quiero que la consulta me de como resultado

numero_factura | valor_factura | nombre | ca | pa | valor_total
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
sin imagen de perfil

como unir estas dos consultas en una

Publicado por add (4 intervenciones) el 23/03/2017 01:24:34
esta es es la consulta que tengo pero no me muestra todas las factura solo las que en ambas columnas tiene datos que sumar

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
SELECT t1.numero_factura, valor_factura, consulta, procedimiento
FROM (
 
SELECT numero_factura, SUM( IFNULL( valor_neto, 0 ) ) AS valor_factura
FROM af
GROUP BY numero_factura
)t1
INNER JOIN (
 
SELECT numero_factura, SUM( valor_neto_consulta ) AS consulta
FROM ac
GROUP BY numero_factura
)t2
INNER JOIN (
 
SELECT numero_factura, SUM( IFNULL( valor_procedimiento, 0 ) ) AS procedimiento
FROM ap
GROUP BY numero_factura
)t3 ON t1.numero_factura = t2.numero_factura
AND t1.numero_factura = t3.numero_factura
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
sin imagen de perfil
Val: 13
Ha aumentado su posición en 3 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

como unir estas dos consultas en una

Publicado por José Luis (4 intervenciones) el 23/03/2017 23:54:50
Hola,

Me confundes con varias cosas, primero dices que es ca y luego lo cambias a ac, lo mismo para pa y ap.

Traté de entenderlo y creo que es así la definicion de tus campos y tablas. (leyendo la aprimera consulta)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
us
num_id, nombres
 
af
numero_factura, (valor_neto) valor_factura, numero_id
 
ac
numero_factura, numero_id, valor_ca, valor_neto_consulta
 
ap
numero_factura, numero_id, valor_pa
 
resultado:
 
numero_factura | (valor_neto) valor_factura | nombre | (valor_neto_consulta) ca | (valor_procedimiento) pa | valor_total

Y a que corresponde valor total? el group by para que lo usas me refiero al sum() ??

Saludos
José Luis
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