[SQL] Come creare questa query?
[SQL] Come creare questa query?
Ciao a tutti
Supponiamo di avere questa tabella:
EF Costo
2005 180
2007 290
2008 220
Come devo scrivere una select che mi ritorni questi dati:
EF Costo
2004 0
2005 180
2006 0
2007 290
2008 220
2009 0
Non saprei spiegarlo meglio se non con questo esempio
Grazie a chi riesce a risolvermi
Supponiamo di avere questa tabella:
EF Costo
2005 180
2007 290
2008 220
Come devo scrivere una select che mi ritorni questi dati:
EF Costo
2004 0
2005 180
2006 0
2007 290
2008 220
2009 0
Non saprei spiegarlo meglio se non con questo esempio
Grazie a chi riesce a risolvermi
L'esperienza è il tipo di insegnante più difficile. Prima ti fa l'esame, poi ti spiega la lezione
-
ciaccaro85
- Scoppiettante Seguace

- Messaggi: 736
- Iscrizione: mercoledì 28 ottobre 2009, 16:00
Re: [SQL] Come creare questa query?
prova così:pico977 ha scritto: Ciao a tutti
Supponiamo di avere questa tabella:
EF Costo
2005 180
2007 290
2008 220
Come devo scrivere una select che mi ritorni questi dati:
EF Costo
2004 0
2005 180
2006 0
2007 290
2008 220
2009 0
Non saprei spiegarlo meglio se non con questo esempio
Grazie a chi riesce a risolvermi
Codice: Seleziona tutto
select EF, COSTO from nometabella order by EF, COSTO;
Make me a sandwich... What??? Make it yourself !
sudo make me a sandwich... OK!
sudo make me a sandwich... OK!
Re: [SQL] Come creare questa query?
non ho spiegato bene il problema, la select deve riportarmi anche, l'anno prima del minimo tra i presenti in tabella, l'anno dopo del massimo, presente in tabella, e gli anni intermedi non presenti, e deve impostare i relativi costi a zero.
L'esperienza è il tipo di insegnante più difficile. Prima ti fa l'esame, poi ti spiega la lezione
-
radioangelo
- Scoppiettante Seguace

- Messaggi: 447
- Iscrizione: giovedì 5 agosto 2010, 22:42
- Località: LOCRI
Re: [SQL] Come creare questa query?
Ciao,
se il tuo database prevede union e subquery puoi provare così:
Ovviamente TABELLA_CON_TUTTI_GLI_ANNI deve essere una ulteriore tabella che contiene l'elenco di tutti gli anni che ti interessano.
Questo ti restituirà però una cosa leggermente diversa, ossia:
... ma se questo ti funziona sei quasi alla fine dell'opera
se il tuo database prevede union e subquery puoi provare così:
Codice: Seleziona tutto
select EF, COSTO from nometabella order by EF, COSTO;
union
select EF,0 FROM TABELLA_CON_TUTTI_GLI_ANNI WHERE EF NOT IN (SELECT EF FROM nometabella) order by EFQuesto ti restituirà però una cosa leggermente diversa, ossia:
Codice: Seleziona tutto
2005 180
2007 290
2008 220
2004 0
2006 0
2009 0
Re: [SQL] Come creare questa query?
Se però gli hanni non ci sono ci fai poco...
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Re: [SQL] Come creare questa query?
Meglio di niente
Intanto mi avvicino al risultato...
Intanto mi avvicino al risultato...
L'esperienza è il tipo di insegnante più difficile. Prima ti fa l'esame, poi ti spiega la lezione
Re: [SQL] Come creare questa query?
Dovrebbe bastare:
Codice: Seleziona tutto
select EF, COSTO from nometabella order by EF, COSTO;
union all
select EF,0 FROM TABELLA_CON_TUTTI_GLI_ANNI WHERE EF NOT IN (SELECT EF FROM nometabella) order by EF
order by EF ascPrima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 1 ospite
