![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Ordenar un query con LIST
Tengo este query:
Código:
SELECT DISTINCT Apellidos, LIST(NomCar) FROM Ls02 GROUP BY 1 ORDER BY 2 ![]() Tal cual es el query debería ordenarlo por la columna del LIST pero no lo hace. ¿Cómo tendría que montar el query para que se orden por esa columna? He de decir que Ls02 es una vista y no sé si eso puede influir en el tratamiento de la salida. |
#2
|
||||
|
||||
Habrá que crear un "invento" para ordenarlo, ya que en la web dice que:
The ordering of the list values is undefined. https://firebirdsql.org/refdocs/lang...func-list.html
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
||||
|
||||
Cita:
|
#4
|
||||
|
||||
Encontré la solución. Como en la lista puede haber más de un resultado lo que necesito es buscar ese primer resultado para que se ordene y luego hacer un CAST sobre las salida:
Código:
SELECT DISTINCT Apellidos, CAST(SUBSTRING(LIST(NomCar) FROM 1 FOR POSITION(',', LIST(NomCar)||',') - 1) AS VARCHAR(30)) FROM Ls02 GROUP BY 1 ORDER BY 2, 1 ![]() |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
ordenar query por un campo calculado???? | mguixot | SQL | 4 | 24-10-2012 11:00:36 |
Query como ordenar | serintfuenn | SQL | 8 | 05-03-2008 22:12:52 |
Ordenar un query por parametros | jzginez | SQL | 11 | 30-10-2007 00:18:02 |
Efecto indeseado al ordenar un Query (Mayúsculas) | gluglu | Varios | 4 | 17-01-2005 19:29:01 |
ordenar query | haron | Conexión con bases de datos | 1 | 01-09-2003 16:18:35 |
![]() |
|