Problema al unir dos consultas por ser demasiado complejo
Publicado por Adrián (4 intervenciones) el 24/07/2018 12:08:06
Hola, ayer abrí este post, en el cuál ya lo logré pero ahora me encuentro con otro problema. La consulta que yo quiero hacer es unir un resultado de una consulta, con otro de otra consulta (hago hincapié al post que abrí).
Yo tengo esta consulta, en el cuál me devuelve un resultado de un sólo registro:
Después, tengo esta otra consulta que me devuelve cierta cantidad de registros dependiendo de la fecha de inicio/final y cómo se puede apreciar es muy compleja a diferencia de la anterior:
Ahora, para unir el resultado de ambas consultas, he intentado usar el siguiente código:
(He puesto en cursiva el código de la primera consulta para que podáis verlo mejor).
¿Cuál es el problema? Pues que cuando ejecuto ese código, la segunda consulta devuelve los resultados correctamente, sin embargo la primera que me debería devolver un sólo registro no funciona. Es decir, en el campo observación me está mostrando datos que no debería y es cómo si el se lo comiera a pesar de que ya lo puse (debería mostrar el campo de hacer el WHERE para todos los registros de la segunda consulta).
Espero haberme explicado bien, gracias de antemano!
Yo tengo esta consulta, en el cuál me devuelve un resultado de un sólo registro:
1
SELECT * FROM AquActivacion WHERE id=1715092513;
Después, tengo esta otra consulta que me devuelve cierta cantidad de registros dependiendo de la fecha de inicio/final y cómo se puede apreciar es muy compleja a diferencia de la anterior:
1
2
3
4
5
SELECT id, numEntrada, usuario, hora, numFactura, numTicket, numReserva FROM AquInternet WHERE
(dia BETWEEN '17/07/2018' AND '24/07/2018') AND utilizada= 1 UNION ALL SELECT AE.id, AE.numEntrada,
AE.usuario, AE.hora, AA.numFactura, AA.numTicket, AA.numReserva FROM AquActivacion AA
INNER JOIN AquEntrada AE ON AA.id = AE.id WHERE (AE.dia BETWEEN '17/07/2018' AND
'24/07/2018') AND (AE.utilizada= 1) ORDER BY id, numEntrada
Ahora, para unir el resultado de ambas consultas, he intentado usar el siguiente código:
1
2
3
4
5
SELECT AA.observacion, AI.id, AI.numEntrada, AI.usuario, AI.hora, AI.numFactura, AI.numTicket, AI.numReserva FROM AquActivacion AA, AquInternet AI WHERE AA.id=1715092513 AND
(AI.dia BETWEEN '17/07/2018' AND '24/07/2018') AND AI.utilizada= 1 UNION ALL SELECT AA.observacion, AE.id, AE.numEntrada,
AE.usuario, AE.hora, AA.numFactura, AA.numTicket, AA.numReserva FROM AquActivacion AA
INNER JOIN AquEntrada AE ON AA.id = AE.id WHERE (AE.dia BETWEEN '17/07/2018' AND
'24/07/2018') AND (AE.utilizada = 1) ORDER BY AI.id, AI.numEntrada;
(He puesto en cursiva el código de la primera consulta para que podáis verlo mejor).
¿Cuál es el problema? Pues que cuando ejecuto ese código, la segunda consulta devuelve los resultados correctamente, sin embargo la primera que me debería devolver un sólo registro no funciona. Es decir, en el campo observación me está mostrando datos que no debería y es cómo si el
1
WHERE AA.id=1715092513
Espero haberme explicado bien, gracias de antemano!
Valora esta pregunta
0