Visualizzazione dei risultati da 1 a 8 su 8

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955
    Quote Originariamente inviata da 123delphi321 Visualizza il messaggio
    io, per iniziare, proverei una cosa del genere....ma aspetta sempre optime!

    codice:
    select
    viaggio.viaggio_id
    ,viaggio.viaggio_anno
    ,viaggio.viaggio_data
    ,(select first 1 ordine.ritiro   from ordine where ordine.id_viaggio=viaggio.viaggio_id order by ordine.sequenza asc) ritiro
    ,(select first 1 ordine.consegna from ordine where ordine.id_viaggio=viaggio.viaggio_id order by ordine.sequenza desc) consegna
    from viaggio
    Ciao,
    puoi fare così:

    codice:
    select
    viaggio.viaggio_id,
    viaggio.viaggio_anno,
    viaggio.viaggio_data,
    (select ordine.ritiro
    from ordine 
    where ordine.id_viaggio = viaggio.viaggio_id 
    and not exists (
    	select 1
    	from ordine o2
    	where o2.id_viaggio = ordine.id_viaggio
    	and o2.sequenza < ordine.sequenza)
    ) ritiro,
    (select ordine.consegna
    from ordine 
    where ordine.id_viaggio = viaggio.viaggio_id 
    and not exists (
    	select 1
    	from ordine o2
    	where o2.id_viaggio = ordine.id_viaggio
    	and o2.sequenza > ordine.sequenza)
    ) consegna
    from viaggio

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326
    Quote Originariamente inviata da Joe Taras Visualizza il messaggio
    Ciao,
    puoi fare così:

    codice:
    select
    viaggio.viaggio_id,
    viaggio.viaggio_anno,
    viaggio.viaggio_data,
    (select ordine.ritiro
    from ordine 
    where ordine.id_viaggio = viaggio.viaggio_id 
    and not exists (
        select 1
        from ordine o2
        where o2.id_viaggio = ordine.id_viaggio
        and o2.sequenza < ordine.sequenza)
    ) ritiro,
    (select ordine.consegna
    from ordine 
    where ordine.id_viaggio = viaggio.viaggio_id 
    and not exists (
        select 1
        from ordine o2
        where o2.id_viaggio = ordine.id_viaggio
        and o2.sequenza > ordine.sequenza)
    ) consegna
    from viaggio
    perdonami Joe Taras, ma io avrei dei dubbi su quanto da te postato.
    se non inserisci l'ordine Ascendente/Discendente potresti non prendere il primo valore ritiro/consegna!

  3. #3
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955
    Quote Originariamente inviata da 123delphi321 Visualizza il messaggio
    perdonami Joe Taras, ma io avrei dei dubbi su quanto da te postato.
    se non inserisci l'ordine Ascendente/Discendente potresti non prendere il primo valore ritiro/consegna!
    Ciao!
    I dubbi sono sempre leciti, ma se vedi bene la query c'è una subquery di NOT EXISTS che in pratica ti dice che non ci sono righe che precedono o che seguono (a seconda delle due condizioni che ti ho messo), che equivale a fare l'ordinamento e prendere il primo elemento, col vantaggio però di essere più veloce

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 © 2025 vBulletin Solutions, Inc. All rights reserved.