Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [SQL] Query per Oracle 8

    Devo selezionare un volo, e in particolare il primo volo disponibile, secondo le condizioni della presente query...
    ...il problema è questo, non voglio tutti i risultati,
    solo il primo, quello con tempopianificato più piccolo!

    Pensavo si potesse usare having min(tempopianificato)
    ma invece sembra che oracle non sappia fare un confronto tra date...

    Ho pensato di ordinarli in maniera crescente ma non riesco a capire come poter selezionare solo il primo (il limit(0,1) è previsto solo in MySql?) grazie per l'aiuto a chi potrà aiutarmi!

    select tempopianificato into tempov
    from VoliPianificati
    where codvolo = ilvolo;

    select Volipianificati.codvolo into ilprimovolopossibile
    from Volipianificati, Disponibilita
    where to_date(Volipianificati.tempopianificato ,'hh24:mi') <
    to_date(tempov,'hh24:mi','hh24:mi') AND
    Volipianificati.codvolo not in (select codvolo from Perturbazioni) AND
    VoliPianificati.partenza = (select partenza from Volipianificati where codvolo=ilvolo) AND
    VoliPianificati.destinazione = (select destinazione from Volipianificati where codvolo=ilvolo) AND
    Disponibilita.postiliberi > 0
    order by tempopianificato asc;
    ---smile is your life---:-)---

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    puoi fare così
    1 SELECT * FROM (tua query) WHERE ROWNUM = 1
    ma credo che esegua la query interna e poi estrae il primo record
    2 SELECT * FROM tabella WHERE campo = (SELECT min(campo) FROM tabella WHERE condizioni)
    questa dovrebbe fare meglio

  3. #3
    Grazie, credo che la migliore sia ancora la prima...
    ...non posso valutarla con la seconda perchè nella tabella di output della prima query mi rimangono solo dei codici di volo, che dovrebbero in quel caso venire ri-relazionati con la tabella precedente... e allora, a quel punto...!

    Grazie! Proverò con prima e vi dirò!
    ---smile is your life---:-)---

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.