PDA

Ver la Versión Completa : ordenar query por un campo calculado????


mguixot
22-10-2003, 12:18:24
Hola gente,

me gustaría sabes si es posible de algun modo alternativo realizar la siguiente consulta ordenada:
select cliente, sum(importe) as total
from facturas
group by cliente
order by total

puesto que así no me deja.


Saludos y gracias

haron
22-10-2003, 14:27:17
puedes intentar lo siguiente:


select cliente, total
from (

select cliente, sum(importe) as total
from facturas
group by cliente

)order by total


a lo mejor te deja (en oracle funciona).

afarenas
22-10-2003, 15:25:36
Hola,
la siguiente sentencia me funciona en Oracle, no se en otros motores ,pero puedes intentarlo

SELECT cliente, sum(importe) as total
FROM facturas
GROUP BY cliente
ORDER BY 2

donde 2 hace referencia al numero de la columna dentro de la sentencia select.

mguixot
22-10-2003, 15:47:27
Perfecto, me ha funcionado con el nº del campo.

Muchas Gracias a todos

Bye

borlandpablo
24-10-2012, 11:00:36
Buenas, tengo el mismo problema. Tengo creado un campo calculado que se llama "Dias", que me muestra la diferencia de la fecha final menos la fecha inicial. Cuando lo voy a ordenar desde la columna del DBGrid me da error y no sé por qué. Tengo hecho esto:

void __fastcall TXCatalogos::DBGrid1TitleClick(TColumn *Column)
{
AnsiString FName = Column->FieldName;

XDatos->QCatalogos->Close();
if(FName == "Dias")
XDatos->QCatalogos->SQL->Text = "Select Titulo, Fecha_ini, Fecha_fin, (Fecha_fin - Fecha_ini) as Dias from catalogos order by Dias";
else
XDatos->QCatalogos->SQL->Text = "SELECT * FROM catalogos ORDER BY " + FName;
XDatos->QCatalogos->Open();
}