Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    331

    [SQL] UNION su due campi diversi ma con lo stesso significato

    Ciao, mi trovo ad avere un DB con queste 3 tabelle

    TABLE DEV1
    id
    label

    TABLE DEV2
    id
    label

    TABLE MAIN_TABLE
    id
    dev1Id (foreign key id DEV1)
    dev2Id (foreign key id DEV2)

    Praticamente la tabella MAIN_TABLE è in join con DEV1 e DEV2 e ogni riga di MAIN_TABLE avrà dev1Id valorizzato e dev2Id NULL o viceversa.

    I campi label di DEV1 e DEV2 hanno, fatto, lo stesso significato.

    Avendo una query del tipo
    SELECT id
    FROM MAIN_TABLE
    LEFT JOIN DEV1
    LEFT JOIN DEV2

    c'è un modo in cui possa ordinare contemporaneamente per i campi LABEL di DEV1 e DEV2?

    Se i dati fossero
    DEV1
    1 pippo
    2 pluto

    DEV2
    1 paperino
    2 topolino

    MAIN_TABLE
    id dev1Id dev2Id
    1 1 NULL
    2 2 NULL
    3 NULL 1
    4 NULL 2

    vorrei che l'order by asc su MAIN_TABLE mi desse
    id dev1Id dev2Id
    3 NULL 1
    1 1 NULL
    2 2 NULL
    4 NULL 2

    Personalmente avrei cercato di unificare DEV1 e DEV2 in un'unica tabella ma mi è stato passato il progetto così com'è e questo non lo posso modificare quindi devo tenermi le due tabelle separate.
    Si può risolvere in qualche modo?

    Nel caso si possa dovrò capire come farlo usando la classe Criteria di java (x Hibernate) ma un passo alla volta

  2. #2
    quale sarebbe il criterio per cui gli ID dovrebbero uscire nell'ordine 3 1 2 4 ?

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    331
    Devono essere ordinati per i campi label di DEV1 e DEV2 come se fossero il campo di un'unica tabella

    id dev1Id dev2Id
    3 NULL 1 (paperino)
    1 1 NULL (pippo)
    2 2 NULL (pluto)
    4 NULL 2 (topolino)

  4. #4
    ok, devi allora fare due query separate e metterle in union, facendo attenzione a usare gli stessi nomi di colonna in uscita; poi ordini il risultato.

    lasciati ispirare da questo https://lnx.dicesare.com/sql/sql-com...-di-risultati/

    poi facce sape'

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    331
    Ok, 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.