Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/10/2017, 04:32
italo_pm
 
Fecha de Ingreso: enero-2011
Mensajes: 24
Antigüedad: 13 años, 10 meses
Puntos: 0
order by de dos campos date en una sola tabla.

hola a todos, tengo un problema con un order by de una query, en una misma tabla hay dos campos con fechas, la fecha_inicio es insertada al momento del insert de la linea, mientras que el campo fecha_programada es una campo no obligatorio y acepta NULL

la select en este ejemplo es id, fecha_inicio, fecha_programada

query:

Código MySQL:
Ver original
  1. SELECT c.id id, c.data_inizio fecha_inicio, c.data_pianificata fecha_programada
  2. FROM consegna c, tipo_servizio ts, area_servizio ars, tipo_consegna tc, stato_consegna sc, turnista t, consegna_letta cl
  3. WHERE c.id_tipo_servizio = ts.id and ts.id_area_servizio = ars.id
  4. and c.id_turnista = t.id
  5. and c.id_stato_consegna = sc.id
  6. and c.id_tipo_consegna = tc.id
  7. and c.id = cl.id_consegna
  8. and cl.id_turnista_conferma = 1
  9. and c.id_stato_consegna in (1,2)
  10. and tc.id = 1
  11. order by fecha_programada asc, fecha_inicio desc;

el resultado es:

Código:
id	fecha_inicio	fecha_programada
471	21/10/2017	NULL
474	20/10/2017	NULL
462	19/10/2017	NULL
464	18/10/2017	NULL
465	17/10/2017	NULL
448	16/10/2017	17/10/2017
444	16/10/2017	18/10/2017
401	13/10/2017	19/10/2017
455	19/10/2017	20/10/2017
454	19/10/2017	21/10/2017
lo que me serviria es que los records de fecha_programada esten siempre en la parte superior y ordenados por fecha_programada ascendiente.

he provado con order by fecha_programada desc, fecha_inicio desc; pero asi los veo fecha_programada en manera descendiente

Código:
id	fecha_inicio	fecha_programada
454	19/10/2017	21/10/2017
455	19/10/2017	20/10/2017
401	13/10/2017	19/10/2017
444	16/10/2017	18/10/2017
448	16/10/2017	17/10/2017
471	21/10/2017	NULL
474	20/10/2017	NULL
462	19/10/2017	NULL
464	18/10/2017	NULL
465	17/10/2017	NULL
y lo que me serviria seria que los records valorizados en la fecha_programada esten en alto y ordenados en manera ascendiente.

que quede asi:

Código:
id	fecha_inicio	fecha_programada
448	16/10/2017	17/10/2017
444	16/10/2017	18/10/2017
401	13/10/2017	19/10/2017
455	19/10/2017	20/10/2017
454	19/10/2017	21/10/2017
471	21/10/2017	NULL
474	20/10/2017	NULL
462	19/10/2017	NULL
464	18/10/2017	NULL
465	17/10/2017	NULL
alguna sugerencia por favor.

muchas gracias, anticipadas.

salu2.