Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Query di non afferenza

  1. #1

    Query di non afferenza

    Salve, sto cercando di scrivere una query forse un po strana, infatti non riesco

    Ho il classico schema a 3 tabelle Personale, Ruolo e PersonaleRuolo, dove la relazione tra personale e ruolo è M a N

    Ho bisogno di vedere come risultato di una query coloro che non hanno un ruolo assegnato

    Ho provato 1 cosa del genere ma non funziona, non ritorna righe
    codice:
    SELECT tab_Personale.Cognome FROM ((tab_Personale INNER JOIN tab_Ruoli_Personale ON tab_Personale_Parthenope.IDPersonale = tab_Ruoli_Personale.Id_Personale) INNER JOIN tab_Ruoli ON tab_Ruoli_Personale.Id_Ruolo = tab_Ruoli.Id) WHERE (tab_Ruoli.Nome_Ruolo NOT IN (SELECT Nome_Ruolo FROM tab_Ruoli tab_Ruoli_1))
    Coloro che hanno un qualsiasi ruolo non sono giustamente visualizzati, ma anche chi non ha ruolo non è visulizzato.

    Idee?
    Grazie in anticipo

  2. #2
    in generale devi fare una LEFT JOIN, mettendo a SX la tabella piena, e a DX quella con i buchi. per rilevare i buchi cerca le info con tabella_dx.campo_join=null

  3. #3
    Grazie, cosi' funziona
    codice:
    SELECT     tab_Personale.Cognome, tab_Ruoli_Personale.Id_Personale
    FROM         (tab_Personale LEFT OUTER JOIN
                          tab_Ruoli_Personale ON tab_Personale.IDPersonale = tab_Ruoli_Personale.Id_Personale)
    WHERE     (tab_Ruoli_Personale.Id_Personale IS NULL)

  4. #4

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 © 2026 vBulletin Solutions, Inc. All rights reserved.