Microsoft SQL Server 2000
Muy buenas, por imperativo necesito devolver una serie de registros
perteneciente a una tabla Y AÑADIRLE la "posibilidad" de "TODOS" y que este
sea el primero y al mismo tiempo ordenados alfabéticamente (campo nombre),
es decir, imaginar que en la tabla se almacena:
Id: INT
nombre: STRING
1 Pepe
2 Juan
3 Antonio
4 Bartolo
La consulta debería devolver los registros ORDENADOS por el campo NOMBRE,
pero incluyendo "el registro" Todos en primer lugar:
0 Todos
3 Antonio
4 Bartolo
2 Juan
1 Pepe
He hecho la siguiente consulta QUE FUNCIONA SIN la clásula UNION (haciendo
trampas, añadiendo un registro FANTASMA llamado todos - NO NO !!! ESO no lo
puedo hacer porque la tabla de donde estraigo los datos la uso para otras
cosas y ese registro fantasma estaría MOLESTADO)
Consulta:
(SELECT [id],nombre FROM table)
UNION ALL
(SELECT 0 AS [id],'Todos' AS nombre)
ORDER BY (CASE WHEN [id]=0 then '' ELSE nombre END)
Me da el siguiente error:
Error:
104
"Debe haber elementos ORDER BY en la lista de selección si la instrucción
contiene el operador UNION"
¿Alguna ayuda?
Nota: mil gracias de antemano
Leer las respuestas