Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363

    [SQL] Raggruppare due record in uno

    Ciao a tutti!

    Ho un Database che utilizzo per gestire delle Spedizioni.
    Ogni Spedizione è formata da due Operazioni: un Ritiro ed una Consegna. Ho quindi una tabella chiamata Operazioni che contiene sia i Ritiri sia le Consegne.
    Ogni record ha questi campi:

    idOperazione (l'id del record)
    lngIdSpedizione (l'id della Spedizione padre)
    txtIndirizzoOperazione (Luogo dell'Operazione)
    lngTipoOperazione (specifica se l'Operazione è un Ritiro oppure una Consegna)

    Quello che vorrei ottenere è una query che mi accoppiasse le due operazioni di ogni spedizione, e restituisse record fatti così:

    lngIdSpedizione
    idOperazioneRitiro
    txtIndirizzoRitiro
    idOperazioneConsegna
    txtIndirizzoConsegna

    Come si fa con SQL?

    Grazie!

  2. #2
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Non hai specificato il DB,
    quindi do una bozza di risposta in SQL miscelato di vari sistemi e Italianizzato

    SELECT
    Max(lngIdSpedizione) AS lngIdSpedizione,
    Max(CASE lngTipoOperazione = 'Rit' THEN idOperazione ELSE '') AS idOperazioneRitiro,
    Max(CASE lngTipoOperazione = 'Rit' THEN txtIndirizzoOperazione ELSE '') AS txtIndirizzoRitiro,
    Max(CASE lngTipoOperazione = 'Con' THEN idOperazione ELSE '') AS idOperazioneConsegna,
    Max(CASE lngTipoOperazione = 'Con' THEN txtIndirizzoOperazione ELSE '') AS txtIndirizzoConsegna,
    Count(lngIdSpedizione) AS Verifica2
    FROM
    Tabella
    GROUP BY
    ........,
    ...........,


    Il Count deve restituire sempre 2 diversamente hai dei gravi problemi a monte

    Se ho capito bene la domanda ......


    Facci sapere
    Ultima modifica di nman; 08-08-2015 a 19:52

  3. #3

  4. #4
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Grazie ad entrambi!
    La soluzione di optime è difatti di ispirazione, ci lavoro un po'... grazie!

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.