Ver Mensaje Individual
  #1  
Antiguo 10-12-2013
Jose Manuel Jose Manuel is offline
Miembro
 
Registrado: may 2003
Posts: 112
Reputación: 22
Jose Manuel Va por buen camino
Ordenar consulta SQL por campo agregados

Hola, estoy utilizando D2007, ADO y access, en la siguiente consulta SQL quiero:

1º Ordenarla por el campo agregado COSTE1

Si pongo la siguiente instrucción:
Código SQL [-]
fdm.ADOQuery_centros.sql.add('order by gss2_Centros_concertados.c_coste1');
Da error “No se han especificado valores para alguno de los parámetros requeridos”
He probado con
Código SQL [-]
fdm.ADOQuery_centros.sql.add('order by 10');
pero no hace nada


2º Añadirle una instrucción para que muestre solo los registros si el campo agregado NUEVA_PLAZA es distinto de NULL, al ser un campo agregado no sé si se puede hacer.

Código SQL [-]
fdm.ADOQuery_centros.active:=false;
fdm.ADOQuery_centros.sql.clear;
fdm.ADOQuery_centros.sql.add(
Select   gss1_Entidades_gestoras.c_nif                     AS CIF,      
         gss1_Entidades_gestoras.c_denominacion_corta      AS Entidad,  
         gss2_Centros_concertados.f_titular                AS f_titular,
         gss2_Centros_concertados.n_id_centro_concertado   AS Nº,      
         gss2_Centros_concertados.c_sector                 AS Sector,   
         gss2_Centros_concertados.c_denominacion_corta     AS Centro,
         gss2_Centros_concertados.c_municipio              AS Municipio,
         gss2_Centros_concertados.c_provincia              AS Provincia,

      (Select 
        SUM(gss3_conciertos.n_plazas) AS Nuevas_plazas 
        FROM  gss3_conciertos  
        WHERE gss3_conciertos.n_id_centro = gss2_Centros_concertados.n_id_centro_concertado
          and gss3_conciertos.f_firma_concierto > :f_ultima) AS nueva_plaza, 

      (Select '+#13+
        SUM(gss5_preciosxplaza.n_coste_periodo1 * gss4_Plazas_actuales.n_plazas) AS Coste1 
        FROM  gss4_plazas_actuales INNER JOIN gss5_preciosxplaza ON 
        gss5_preciosxplaza.n_codigo_tarifa = gss4_plazas_actuales.n_codigo_tarifa 
        WHERE  gss4_Plazas_actuales.n_id_centro = gss2_Centros_concertados.n_id_centro_concertado) AS coste1 

FROM gss2_Centros_concertados  INNER JOIN    gss1_entidades_gestoras ON 
     gss2_centros_concertados.n_id_entidad = gss1_entidades_gestoras.n_id_entidad );

fdm.ADOQuery_centros.active:=true;
Responder Con Cita