Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    61

    [mysql]unione di tre tabelle

    salve,
    mi trovo a dovere effettuare un join con 3 tabelle, ma ho dei problemi a metterle in relazione tra loro.
    Il progetto riguarda la presenza di corsi di studio al quale gli studenti devono potersi iscrivere, e la struttura è la seguente:

    tabella (studenti)users: userid|username
    tabella corsi: id|titolo|descrizione
    tabella (cerniera)sito_iscrizioni : id_corsi|id_utenti

    Quando un utente si iscrive ad un corso viene prelavato l'id dell'utente e l'id del corso e vengono inseriti nella tabella "cerniera".
    Con la query dovrei visualizzare quali utenti si sono iscritti ad un particolare corso, che viene selezionato da una pagina php tramite il passaggio di variabile.

    Se qualcuno avesse un idea, ne sarai molto grato!

  2. #2
    Utente di HTML.it L'avatar di Avalox
    Registrato dal
    Nov 2003
    Messaggi
    302
    posta la tua e noi la correggiamo??


  3. #3
    prova....
    codice:
    SELECT *
    FROM sito_iscrizioni s
    inner join user u ON u.id_user = s.id_user
    inner join corsi c ON c.id_corso = s.id_corso
    where c.descrizione = '$descrizione_corso'
    
    oppure where c.titolo = '$titolo'

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    Utente di HTML.it L'avatar di Avalox
    Registrato dal
    Nov 2003
    Messaggi
    302
    piero... sei sempre troppo buono...

    Troppo spesso la gente scrive sul forum messaggi del tipo:"Non mi riesce, me lo fate?" oppure "Mi pagano per fare questo, ma non ho voglia... me lo fate voi?".

    Credo sinceramente che il forum, come tale, sia un punto d'incontro dove possiamo darci una mano a vicenda per risolvere i problemi che ci assillano

    Sarebbe più corretto che chi posta il quesito sul forum, posti almeno un tentativo di soluzione... almeno per dimostrare che ci ha veramente provato...

    Chiedo scusa, ma mi dovevo sfogare in qualche modo...

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    61
    Grazie piero, sto ancora verificando il tuo codice e poi ti dirò se sono riuscito a farlo funzionare.
    Avalox condivido perfettamente il tuo sfogo e il tuo punto di vista, sia sul fatto che piero sia troppo buono (un'istituzione direi) sia sul discorso di postare il codice, di non chiedere la pappa pronta eccetera.
    Io in effetti non voglio che mi si faccia il lavoro al mio posto, mi scuso per non aver postato la query ma voglio imputare la colpa alla fretta.
    Questa è la mia, non funzionate:

    codice:
    $query2 = "SELECT * FROM users AS u
    JOIN  sito_iscrizioni AS s ON s.id_utenti = u.userid
    JOIN  sito_nuovo      AS t ON t.id        = s.id_eventi
    WHERE s.id_eventi = $id";
    dove $id è la variabile che viene passata alla pagina.

    Questa, sparata direttamente col phpmyadmin dava un errore di sintassi:P
    (alcuni campi nella mia query possono differire perchè nel primo esempio ho riportato campi semplificati)

  6. #6
    Utente di HTML.it L'avatar di Avalox
    Registrato dal
    Nov 2003
    Messaggi
    302
    :rollo: ok...perdonato...

    Comunque prova così:
    codice:
    $query2 = "
    SELECT * 
    FROM users u
    JOIN  sito_iscrizioni s 
      ON s.id_utenti = u.userid
    JOIN  sito_nuovo t 
      ON t.id = s.id_eventi
    WHERE s.id_eventi = $id";
    non ci vuole AS dopo il nome della tabella, ma serve (se non erro) per dare un alias diverso al nome dei campi es:

    codice:
    SELECT p.campotroppolungodagestire AS cmp
    FROM tabella p
    vedrai che è praticamente uguale a quella di piero "l'istituzione"


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.