Visualizzazione risultati 1 fino 3 di 3

Discussione: Incrociare 2 dati attraverso un campo

  1. #1
    personalthings non è connesso Utente giovane
    Data registrazione
    10-08-2013
    Messaggi
    73

    Predefinito Incrociare 2 dati attraverso un campo

    Perdonate il titolo terribile, ma non so come farmi capire.
    Ho due tabelle.

    La prima si chiama ruoli_lavoro così formata:

    id_ruolo || livello

    1-------1
    2-------1
    3-------2
    4-------3
    5-------3
    6-------3

    Ho una seconda tabella chiamata ruoli_lavoratori così firmata:

    nome || id_ruolo

    A-------1
    B-------1
    C-------4
    D-------1

    Ho creato una pagina in cui questa persona ha la lista di tutti i ruoli e se li può scegliere.
    Prendiamo l'esempio di C, il cui id_ruolo è 4.
    Avrei la necessità di mostrare a C tutti i ruoli che NON abbiano il suo livello (in questo caso vedrebbe gli id_ruolo 1, 2 e 3 perché hanno un livello != da 3 ma non vedrebbe il ruolo 5 e 6 perché hanno il livello == al suo).

    A livello teorico deduco su come dovrei muovermi, ossia dovrei estrarre l'id_ruolo dalla tabella ruoli_lavoratori e poi associare quell'ID all'ID_ruolo di ruoli_lavoro e valutare il livello.
    Ma non saprei che sintassi usare. Una JOINT?
    Ultima modifica di personalthings : 19-09-2021 alle ore 22.17.19

  2. #2
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Codice:
    SELECT id_ruolo
    FROM ruoli_lavoro
    WHERE livello NOT IN (
        SELECT livello
        FROM ruoli_lavoro JOIN ruoli_lavoratori ON ruoli_lavoro.id_ruolo = ruoli_lavoratori.id_ruolo
        WHERE ruoli_lavoratori.name = "C"
    )

    I suggerimenti che do più spesso:


  3. #3
    personalthings non è connesso Utente giovane
    Data registrazione
    10-08-2013
    Messaggi
    73

    Predefinito

    **risolto**
    Ultima modifica di personalthings : 19-09-2021 alle ore 23.06.47

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •