![]() |
Modificar resultado de un query
Para una base de datos en FB 2.5.6 tengo este query:
Esa tabla Cine tiene declarados dos índices: el primario (ALTER TABLE TITULOS ADD CONSTRAINT PK_TITULOS PRIMARY KEY (TIPO,REGISTRO)) y otro sobre el título (CREATE INDEX TITULOS ON TITULOS(TIPO,TITULO_INDEX)). Independientemente de como ponga la clausula IN (781,905 ó 905,781) y de si ese índice sobre el título está activo o no, el resultado del query es siempre el mismo: ![]() y me gustaría que el resultado respetara el orden de la clausula IN, en el sentido de mostrarlos en el mismo orden que esté hecha la declaración. |
Hola Ángel, la cláusula IN es de inclusión o no en la respuesta del query. Es algo así como un WHERE.
Si vos necesitás que los registros aparezcan ordenados, tenés que usar ORDER BY en el query. Saludos |
Coincido con Lucho, la clausula IN no hace ningún tipo de ordenación, para eso esta la clausula "order by", tu consulta sería así:
|
Gracias por las respuestas. El sentido de la clausula IN lo tengo clarísimo. El problema es que no necesariamente el orden ha de ser el del número de registro (no voy a entrar en las razones para ello) y por lo tanto ese order by Registro puede o no valerme. Seguiré investigando.
|
Otra forma que se me ocurre para que se ordene de la forma que deseas es usando consultas separadas y luego los unes, mas o menos asi:
Puede alternar el numero de registro 781 abajo y 905 arriba y así saldrá |
Es una locura :p
|
Cita:
|
Cita:
|
| La franja horaria es GMT +2. Ahora son las 21:38:09. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi