Tengo una tabla llamada "facturas" en donde se guardan los numeros de facturas de los asociados.
Necesito genera un un listado en donde primero se muestren las facturas del asociado 6 y después las de todos los demás asociados, para ello utilizo UNION para unir dos bloques de sentencias.
Cita:
Esta sentencia funciona bien y hace lo que busco, sin embargo, me veo en la necesidad de ordenar cada bloque de sentencias por separado, o sea las sentencias deberian ser:SELECT *
FROM `facturas`
WHERE id_asociado = 6
UNION
SELECT *
FROM `facturas`
WHERE id_asociado <> 6
FROM `facturas`
WHERE id_asociado = 6
UNION
SELECT *
FROM `facturas`
WHERE id_asociado <> 6
SENTENCIA 1
SELECT *
FROM `facturas`
WHERE id_asociado = 6 ORDER BY num_factura DESC
SENTENCIA 2
FROM `facturas`
WHERE id_asociado <> 6 ORDER BY num_factura DESC
Sin embargo al usar UNION la condición es que el ordenamiento se especifique al final de la segunda sentencia lo que ocasiona que se realice el ordenamiento en toda la tabla resultante y no en cada sentencia por separado que es lo que estoy buscando.
Cita:
Se puede lograr el ordenamiento independiente de cada bloque de consulta en la tabla resultante?SELECT *
FROM `facturas`
WHERE id_asociado = 6
UNION
SELECT *
FROM `facturas`
WHERE id_asociado <> 6 ORDER BY num_factura DESC
FROM `facturas`
WHERE id_asociado = 6
UNION
SELECT *
FROM `facturas`
WHERE id_asociado <> 6 ORDER BY num_factura DESC
Espero haberme explicado, agradezco nuevamente cualquier pequeña ayuda que me arroje un poco de luz sobre esta cuestión.
Saludos.