Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732

    [SQL] select multipla utenti->eventi

    Ciao a tutti,

    ho un problema logico che non riesco a tradurre in un adeguato SQL.

    Ho un gestionale utenti che mi permette di filtrare questi ultimi in base a varie condizioni, tra le varie cose ci sarebbe da poter filtrari gli utenti registrati in base agli eventi a cui hanno partecipato tramite un select multipla che mi permette di visualizzare solo gli utenti che hanno partecipato agli eventi selezionati nella select con una logica AND quindi:

    se seleziono l'evento A e l'evento B mi devono essere mostrati solo gli utenti che hanno partecipato a questi due eventi e per forza a tutti e due NON l'uno o l'altro.

    Con una query molto semplice posso ripescare gli utenti che hanno presenziato a degli eventi con un resultset tipo:

    UTENTE - EVENTO
    1-----------A
    1-----------B
    2-----------A
    2-----------C
    3-----------A
    3-----------B

    Come faccio da questo resultset a filtrare gli utenti che hanno, per esempio, partecipato all'evento A e all'evento B ovvero l'utente 1 e 3

    Subquery? Tabelle temporanee? Right join? Union?

    Grazie.

  2. #2
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    up

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ho trovato questa discussione cercando una soluzione a un problema simile al tuo. Magari hai già risolto comunque io ho usato group_concat

    codice:
    select utente,GROUP_CONCAT(evento separator ',') as eventi 
    from tabella
    group by utente
    having GROUP_CONCAT(evento separator ',') = 'A,B'
    spero ti sia utile, in caso contrario scusate la riesumazione.

  4. #4
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Ciao Nicola, guarda io avevo risolto in modo molto semplice bastava selezionare le occorrenze utente->evento con OR e contare se queste erano almeno pari alle selzioni fatte nel form, questo permetteva di capire se l'utente avesse ALMENO partecipato a quei dati eventi.

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.