Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Lista ruoli non assegnati ad utente

    Ciao.

    Ho due tabelle, ruoli e ruoliutenti (e utenti).

    Ho una pagina dove, selezionato l'utente, visualizzo un menù a tendina con dentro i ruoli da associare all'utente.
    Vorrei che venissero visualizzati solo i ruoli non ancora assegnati all'utente.

    Le due tabelle sono legate da idruolo.

    Ho provato mettendo:

    select ru.NomeRuolo
    from Ruoli ru
    left OUTER JOIN RuoliUtenti ruut
    on
    ru.idruolo = ruut.idruolo
    and ruut.idutente = 1

    ma mi tira fuori tutti i ruoli, anche quelli che sono già assegnati all'idutente 1.
    Come faccio a fargli tirare fuori invece solo i ruoli non assegnati ad 1?

    Grazie.


  2. #2
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    select ru.NomeRuolo, ruut.idutente
    from Ruoli ru
    left OUTER JOIN RuoliUtenti ruut
    on
    ru.idruolo = ruut.idruolo
    where
    and ruut.idutente is null
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  3. #3
    No, neanche così va bene perchè mi trira fuori solo i ruoli associati a nessun utente... mentre io potrei avere un ruolo X associato all'utente 1 e non al 2, quindi se seleziono l'utente 2 il ruolo X mi deve apparire...


  4. #4
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Originariamente inviato da kalosjo
    select ru.NomeRuolo, ruut.idutente
    from Ruoli ru
    left OUTER JOIN RuoliUtenti ruut
    on
    ru.idruolo = ruut.idruolo
    where
    ruut.idutente is null or ruut.idutente<>2
    Ho messo 2 ma deve essere l'id dell'utente in questione
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  5. #5
    Ci siamo quasi...
    ora però se ho un ruolo associato a due utenti diversi dall'utente 2, me lo tira fuori due volte.

    Dovrei forse usare una group? ma per cosa? ho provato ma mi da errore.. una distinct ma mi da errore uguale....


  6. #6
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    select distinct ti da errore??

    E perchè mai??

    posta la query con distinct così come la scrivi....
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  7. #7
    Ecco la query:

    select ru.*, distinct(ruut.idutente)
    from Ruoli ru
    left OUTER JOIN RuoliUtenti ruut
    on
    ru.idruolo = ruut.idruolo
    where
    ruut.idutente is null or ruut.idutente<>1

    Questo l'errore:
    Server: messaggio 156, livello 15, stato 1, riga 1
    Sintassi non corretta in prossimità della parola chiave 'distinct'.



  8. #8
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    certo, distinct deve essere prima dell'elenco di campi...

    select distinct ru.*, ruut.idutente
    from Ruoli ru
    left OUTER JOIN RuoliUtenti ruut
    on
    ru.idruolo = ruut.idruolo
    where
    ruut.idutente is null or ruut.idutente<>1
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  9. #9
    Impossibile selezionare il tipo di dati text, ntext o image come DISTINCT.

    La distinct dovrebbe farla solo su IDUtente, invece così me la fa su tutti i campi e si incavola percheè uno di questi è "text"...



  10. #10
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    e allora elenca tutti i campi che vuoi nel recordset nella query, iniziando magari dall'id, così non va in errore
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

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.