Ver Mensaje Individual
  #4  
Antiguo 20-03-2013
Avatar de ozsWizzard
ozsWizzard ozsWizzard is offline
Miembro
 
Registrado: may 2004
Ubicación: Murcia
Posts: 190
Reputación: 23
ozsWizzard Va por buen camino
Sigo sin entenderte del todo, no sé si me he aclarado o me he confundido más.

Suponiendo que sea lo que yo he entendido. Tienes tres campo "fecha" y te interesa ordenar por la fecha (cualquiera de las tres) más baja

Código Delphi [-]
      q.SQL.Add('SELECT [campos], FECHA');
      q.SQL.Add('FROM (');
      q.SQL.Add('   SELECT [campos], FRAS_CONF1_DATA AS FECHA');
      q.SQL.Add('   FROM FRAS');
      q.SQL.Add('   WHERE FRAS_CONF1_DATA < FRAS_CONF2_DATA');
      q.SQL.Add('     AND FRAS_CONF1_DATA < FRAS_CONF3_DATA');
      q.SQL.Add('   UNION');
      q.SQL.Add('   SELECT [campos], FRAS_CONF2_DATA as fecha');
      q.SQL.Add('   FROM FRAS');
      q.SQL.Add('   WHERE FRAS_CONF2_DATA < FRAS_CONF1_DATA');
      q.SQL.Add('     AND FRAS_CONF2_DATA < FRAS_CONF3_DATA');
      q.SQL.Add('   UNION');
      q.SQL.Add('   SELECT [campos], FRAS_CONF3_DATA as fecha');
      q.SQL.Add('   FROM FRAS');
      q.SQL.Add('   WHERE FRAS_CONF3_DATA < FRAS_CONF1_DATA');
      q.SQL.Add('     AND FRAS_CONF3_DATA < FRAS_CONF3_DATA');
      q.SQL.Add('   UNION');
      q.SQL.Add('   SELECT [campos], FRAS_CONF1_DATA as fecha');
      q.SQL.Add('   FROM FRAS');
      q.SQL.Add('   WHERE FRAS_CONF1_DATA = FRAS_CONF2_DATA');
      q.SQL.Add('     AND FRAS_CONF1_DATA < FRAS_CONF3_DATA');
      q.SQL.Add('   UNION');
      q.SQL.Add('   SELECT [campos], FRAS_CONF1_DATA as fecha');
      q.SQL.Add('   FROM FRAS');
      q.SQL.Add('   WHERE FRAS_CONF1_DATA = FRAS_CONF3_DATA');
      q.SQL.Add('     AND FRAS_CONF1_DATA < FRAS_CONF2_DATA');
      q.SQL.Add('   UNION');
      q.SQL.Add('   SELECT [campos], FRAS_CONF2_DATA as fecha');
      q.SQL.Add('   FROM FRAS');
      q.SQL.Add('   WHERE FRAS_CONF2_DATA = FRAS_CONF3_DATA');
      q.SQL.Add('     AND FRAS_CONF2_DATA < FRAS_CONF1_DATA');
      q.SQL.Add(')');
      q.SQL.Add('CAST(FECHA AS DATE) > ' +#39 + FormatDateTime('mm/dd/yyyy',now()-30)+#39);
      q.SQL.Add('ORDER BY FECHA');
      //[campo] = Lista de campos
__________________
La Madurez se llama...
~~~Gaia~~~
Responder Con Cita