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

    Sql: unire due tabelle e poi fare una join con una terza, si può?

    Ciao a tutti

    Ecco il mio problema:

    Ho quattro tabelle

    tabella1 (tre colonne bookID, groupID e title)
    tabella2 (due colonne authorID e name)

    tabella3 (due colonne groupNUM e author)
    tabella4 (due colonne bookNUM e author)

    La prima tabella contiene l'insieme delle pubblicazioni. Ogni libro ha la sua propria ID e la ID del gruppo di pubblicazioni a cui appartiene. Le tabelle 3 e 4 collegano i vari gruppi di pubblicazione o i vari libri singoli al proprio autore.

    Io voglio ottenere in una query questo: a partire dall'ID dell'autore (della tabella2) avere una tabella con tutti i libri (tabella1) sia che appartengano a un gruppo di pubblicazione di quell'autore (tabella3) sia che siano stati scritti direttamente da quell'autore (tabella4).

    Sono riuscito ad ottenere in risultato parziale con questa query:

    SELECT tabella2.name, tabella1.title FROM tabella2, tabella1 JOIN tabella3 ON tabella1.groupID = tabella3.groupNUM WHERE tabella3.author = tabella2.authorID AND tabella2.authorID = (valore)

    Ecco... io vorrei ottenere questo risultato con in aggiunta anche i singoli libri di tabella4! Ma come posso fare?

    Aiutatemi!

    Grazie!

  2. #2
    Utente di HTML.it L'avatar di cik
    Registrato dal
    Jul 2003
    Messaggi
    449
    Fai una query simile a quella che hai fatto che ti restituisce i singoli libri.

    Poi unisci le due con una UNION

    ES:

    (Qui ci metti la query che hai scritto) UNION (qui ci metti la query che estrae i singoli libri)
    S'i fosse foco, arderei 'l mondo

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.