|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jan 2005
Città: Meduno/Trieste
Messaggi: 806
|
[SQL 2005] Problema query e ordinamento
ciao a tutti, mi servirebbe una mano per fare una query o una stored procedure, allora premetto che sto usando ms sql 2005.
allora io ho una tabella dei progetti con vari campi e tra le altre cose uno con la data d'inizio e uno con la data di fine, voglio fare una query che mi selezioni tutti gli attributi della tabella (e fin qui ci sono) ma dopo l'ordinamento vorrei che fosse il seguente: quelli di data d'inizio più recente per prima, e quelli con una data di fine alla fine quindi mi dovrei ritrovare con: progetti non terminati (senza data di fine)->ordine dal più recente al più vecchio e dopo progetti terminati (con data di fine) ->ordine dal più recente al più vecchio ho provato un po' di query ma non ne vengo fuori.. se qualcuno ha qualche idea.. mi va bene anche se devo fare una store procedure.. grazie a tutti! |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jan 2005
Città: Meduno/Trieste
Messaggi: 806
|
nessuno ha qualche idea?
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
fai una union di 2 query
la prima col campo fine vuoto order by data di inizio desc union quelli col campo di fine order by il campo di fine desc
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] Ultima modifica di zuper : 30-06-2010 alle 13:52. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jan 2005
Città: Meduno/Trieste
Messaggi: 806
|
avevo già provato il problema è che l'order by e l'union non vanno tanto d'accordo, a meno che non metterne uno unico alla fine..
comunque ho risolto aggiungendo un campo priorità fisso, poi faccio la union delle 2 query e ordino il tutto prima per priorità e poi per data d'inizio |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:13.



















