Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [MySql] Consiglio per una query

    Ho una tabella le cui colonne sono:

    voto - categoria - utente

    come faccio a trovare gli utenti che hanno preso 4 nella categoria 1 e 6 nella categoria 5?

    grazie.

  2. #2
    Prova così:

    codice:
    SELECT utente, voto
    WHERE voto = 4 
    AND voto = 6
    ORDER BY voto
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  3. #3
    scusa, ma non ha senso. il voto non può essere sia 4 che 6...

  4. #4
    Ma hai provato?
    La query dice di selezionare le due colonne definite solo per quelle dove il VOTO è uguale a 4 e uguale a 6.
    C'è un solo errore nella query: non avevo scritto il FROM.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  5. #5
    Rileggendo bene il tuo post ho capito bene quello che ti serve.
    Fammi capire un attimo come impostare la query e poi riscrivo.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Prova così

    codice:
    select utente,
    sum(if(voto=4 and categoria = 1,1,0)) as criterio1,
    sum(if(voto=6 and categoria = 5,1,0)) as criterio2
    from tabella
    group by utente
    having criterio1 >= 1 and criterio2 >= 1

  7. #7
    intanto grazie, sembra funzionare.

    Mi spieghi perché hai fatto così? e che vuol dire 'categoria = 1,1,0'?

    grazie

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Semplicemente verifico se le due condizioni voto e categoria sono quelle che mi aspetto e in caso positivo assegno al campo valore 1, in caso contrario 0.
    Una volta effettuato il raggruppamento per utente tramite la clausola having seleziono solo i record per i quali entrambe le condizioni (4 nella categoria 1 e 6 nella categoria 5) sono uguali o maggiori a 1, cioè vere.

  9. #9
    semplice ed efficace

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.