Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-11-2008
sargento elias sargento elias is offline
Miembro
 
Registrado: mar 2008
Posts: 109
Poder: 17
sargento elias Va por buen camino
Ordenar una Sql con Union

Hola buenas tardes a todos, no soy muy experto en esto, y me gustaría saber cómo se puede ordenar ,por ejemplo por fecha esta sql , quiero hacerla funcionar en un query de Delphi7 (con Firebird 2.0)

Código SQL [-]
SELECT  'EXP' EXPE,M.DH,M.IMP,M.SDP,M.FEC,M.DES1, E.ID, substring(CODEXP from 1 for 4) || '/' ||
                                     substring(CODEXP FROM 5 FOR 2)  || '/' || 
                                     substring(CODEXP FROM 7 FOR 5) NUMEXP,  
                    C.DES CON 
                   FROM  EXPEMOV M 
                      INNER JOIN EXPEDIENTES E ON E.ID = M.IDEXP  
                       INNER JOIN CONCEPTOS C ON C.ID = M.IDCON  
 WHERE M.FEC BETWEEN FEC AND :HFEC 
 AND M.SDP = :SDP
 UNION    SELECT  'EXH' EXPE,M.DH,M.IMP,M.SDP,M.FEC,M.DES1, E.ID, substring(CODEXH from 1 for 4) || '/' ||
                                     substring(CODEXH FROM 5 FOR 2)  || '/' ||
                                     substring(CODEXH FROM 7 FOR 5) NUMEXP,
                    C.DES CON 
                   FROM  EXHMOV M
                      INNER JOIN EXHORTOS E ON E.ID = M.IDEXH
                       INNER JOIN CONCEPTOS C ON C.ID = M.IDCON  
 WHERE M.FEC BETWEEN FEC AND :HFEC 
 AND M.SDP = :SDP


Muchas gracias
Responder Con Cita
  #2  
Antiguo 21-11-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
al final agrega "Order By NombreDelCampo" o "Order By NúmeroDelCampo"
__________________

Responder Con Cita
  #3  
Antiguo 21-11-2008
sargento elias sargento elias is offline
Miembro
 
Registrado: mar 2008
Posts: 109
Poder: 17
sargento elias Va por buen camino
No eso no funciona , no sé si tendré que agrupar en paréntesis o es que el campo está en las dos selects

pero si añado sin más ORDER BY M.FEC al final me dice esto :::

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Invalid command.
invalid ORDER BY clause.

Gracias por el interés anyway...

pOST-eDIT :!!!Vale con el número del campo está solucionado, MIL GRACIAS!!!.
Responder Con Cita
  #4  
Antiguo 21-11-2008
hecospina hecospina is offline
Miembro
 
Registrado: oct 2007
Posts: 202
Poder: 17
hecospina Va por buen camino
Hola
Prueba con
Código SQL [-]
..... 
order by 5
Responder Con Cita
  #5  
Antiguo 21-11-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola sargentoelias, tienes que ordenar por el numero de campo.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #6  
Antiguo 21-11-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Cita:
Empezado por sargento elias Ver Mensaje
No eso no funciona...
ORDER BY M.FEC
Solo como comentario, en SQL Server puedes utilizar el nombre, supongo que en Firebird también, el detalle es que tal vez debí haber dicho "debes utilizar el alias" en lugar del nombre, es decir, en lugar de poner "M.Fec", solo es necesario poner "Fec". Al menos eso funcionar en SQL Server.

En fin, que bueno que con el número ya quedó
__________________

Responder Con Cita
  #7  
Antiguo 21-11-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
También, solo como comentario, en Firebird no funciona con el nombre del campo o el alias que le des al campo, pero si con el numero de campo.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #8  
Antiguo 21-11-2008
hecospina hecospina is offline
Miembro
 
Registrado: oct 2007
Posts: 202
Poder: 17
hecospina Va por buen camino
Caro
Solo por aclarar, yo manejo Firebird 2.0 y no he tenido problemas con el ordenamiento me soporta cosas como estas

order by SUBSTRING(T.TIPO FROM 1 FOR 2)
order by 3 que es el numero del campo
order by aliascampo
order by sum(total)

solo que cuando se utiliza UNION para la consulta solo se puede hacer por el numero del campo
Responder Con Cita
  #9  
Antiguo 22-11-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Cita:
Empezado por hecospina Ver Mensaje
solo que cuando se utiliza UNION para la consulta solo se puede hacer por el numero del campo
Hola hecospina, gracias por la aclaración a veces no me explico bien, me refería justamente al UNION.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿ union ? Guillermo80 C++ Builder 6 02-03-2008 00:08:11
Select de un Union All?? Luana Tablas planas 1 17-04-2006 16:24:07
Como ordenar la UNION de 2 Consultas FIREBIRD pcicom SQL 2 10-02-2005 18:49:59
Union en BDE eduarcol SQL 9 05-07-2004 18:49:10


La franja horaria es GMT +2. Ahora son las 17:44:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi