• Super User

    Relazione tra tre tabelle

    Salve a tutti 🙂

    Vi faccio un prologo per inoltrarvi nel caso specifico.

    Allora, nel gestionale interno che sto facendo in php ogni utente che logga al suo interno avrà la possibilità di gestire determinati dati posti su delle tabelle specifiche.
    Queste tabelle saranno abilitate o no alla visualizzazione e modifica da parte dell'utente .

    La struttura attuale:

    (tabella contenente gli utenti del gestionale)
    **t_utente
    **campo id_utente, int (50) , no-null. primary key.
    campo nome_utente, varchar(255), allownull.

    (tabella contenente i nomi delle tabelle presenti sul medesimo database).
    t_nometabelle
    campo id_tabella, int (50), no-null, primary key.
    campo nome_tabella, varchar(255) no-null.
    campo alias , varchar(150) allownull.

    (tabella contenente i valori di riferimento , risolvibile con la frase "Quali tabelle per quali utenti vado a mostrare"
    t_mostratabella
    campo id, int(50), no-null, primary key
    campo userid, int(10), no null
    campo tableid,int(20), no null

    Adesso come sono impostati i valori all'interno di quest'ultima tabella?

    Praticamente avrò una relazione tra:
    t_mostratabella.userid = t_utente.id_utente
    e
    **t_mostratabella.tableid = t_nometabelle.id_tabella

    **Ad esempio vedo i dati così:

    id:1, userid:4, tableid:2
    id:2, userid:4, tableid:3
    id:3, userid:4, tableid:5
    id:4, userid:5, tableid:2
    id:5, userid:5, tableid:6
    id:6, userid:6, tableid:2

    Come vedete c'è la relazione di n:n

    Ora qual'è il mio problema?
    Mi servirebbe sapere la stringa SQL per poter richiamare le tabelle.
    La clausola "where" o chi per essa si dovrà basare sul nome dell'user.
    Ho provato qualcosa anche con l'innerjoin però non sono sicuro del risultato :mmm:

    Comunque sia , finendo, la domanda implicita è questa:

    "Mostra le tabelle che appartengono all'user chiamato xxxxx"

    Grazie per l'attenzione! 🙂