18-05-2022, 17:36
(Última modificación: 19-05-2022, 11:33 por gambafeliz.)
Hola
Esta pregunta es para todo aquel que tenga muy claro el comportamiento de SELECT UNION en mi caso en el motor SQLite3.
Caso a describir:
Hago un SELECT donde pongo la columna Fecha A y Fecha B donde Fecha B no tiene por que estar rellena y cuando no esta rellena tiene un "-" para distinguir el campo vacío.
Dicho esto, sería:
Yo pensaba para el caso descrito:
Que los datos del primer select se cargarían en el result primero y tras él, el segundo select se cargaría a continuación, pero en mis pruebas se mezclan
Alguien sabe cual es la razón.
En definitiva, yo se que con una vista podría resolver mi duda, pero alguien sabe la razón de si no ordeno nada en el union principal, por que no toma mi lógica descrita.
Gracias.
Esta pregunta es para todo aquel que tenga muy claro el comportamiento de SELECT UNION en mi caso en el motor SQLite3.
Caso a describir:
Hago un SELECT donde pongo la columna Fecha A y Fecha B donde Fecha B no tiene por que estar rellena y cuando no esta rellena tiene un "-" para distinguir el campo vacío.
Dicho esto, sería:
SQL
- 1er. SELECT
- SELECT FechaA, FechaB
- FROM (SELECT FechaA, FechaB FROM TA UNION SELECT FechaA, FechaB FROM TA ORDER BY FechaB)
- WHERE FechaB<>'-'
- UNION
- 2º SELECT
- SELECT FechaA, FechaB
- FROM (SELECT FechaA, FechaB FROM TA UNION SELECT FechaA, FechaB FROM TA ORDER BY FechaA)
- WHERE FechaB='-';
Yo pensaba para el caso descrito:
Que los datos del primer select se cargarían en el result primero y tras él, el segundo select se cargaría a continuación, pero en mis pruebas se mezclan
Alguien sabe cual es la razón.
En definitiva, yo se que con una vista podría resolver mi duda, pero alguien sabe la razón de si no ordeno nada en el union principal, por que no toma mi lógica descrita.
Gracias.