Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    541

    And sullo stesso campo

    Ciao a tutti,
    mi trovo nella situazione di fare un AND sullo stesso campo di una tabella. Come è possibile procedere a livello di query visto che non è possibile mettere in AND cascate di stessi campi?

    Nel dettaglio: ho la tabella interessi nella quale sono inseriti gli interessi degli utenti (un utente può avere più interessi). Voglio isolare i record in base al campo interessi con la seguente condizione: "interesse=calcio AND interesse=nuoto AND interesse=golf" in modo da avere gli utenti che hanno dichiarato tutti e tre gli interessi.

    Esempio tabella:



    id | utente | interesse
    1 | utenteA | calcio
    2 | utenteB | calcio
    3 | utenteC | nuoto
    4 | utenteA | nuoto
    5 | utenteA | golf
    6 | utenteD | golf
    7 | utenteB | calcio

    Grazie

  2. #2
    non capisco l'impostazione del tuo database.
    Penso sarebbe più corretto fare tre tabelle

    utenti

    id - username - quello che vuoi


    interessi

    id - nome_interesse


    e una terza dove metti in relazione gli utenti con gli interessi

    id_utente - id_interesse


    Da li poi puoi raggruppare comodamente.
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Una possibile soluzione

    codice:
    select utente,
    sum(if(interesse='calcio',1,0)) as calcio,
    sum(if(interesse='golf',1,0)) as nuoto,
    sum(if(interesse='nuoto',1,0)) as golf
    from tabella
    group by utente
    having calcio > 0 and nuoto > 0 and golf > 0

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    541
    grazie mille

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