Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: Query SQL

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    24

    Query SQL

    Salve ragazzi.
    avrei bisogno di un piccolo consiglio se possibile.
    devo fare una query che conti quante cose hanno un attributo maggiore di x.fin qui nessun problema, si usa count ed è risolto.
    ma quando per quella riga count conta 0 non mi mostra nei risultati quella riga con count 0.come posso fare?
    in sostanza la domanda è: si può far vedere nei risultati una count che restituisce 0?

  2. #2
    fa' un esempio e posta la query attuale

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    24
    Un esempio banale può essere questo: mi servono il numero di temi con più di tre pagine che gli alunni( nomi e cognomi )hanno consegnato.
    La query dovrebbe essere così:

    SELECTALUNNO.NOME, ALUNNO.COGNOME, COUNT (TEMA.TITOLO)

    FROM TEMA, CONSEGNA, ALUNNO
    WHEREALUNNO.CODICE=CONSEGNA.CODICE AND CONSEGNA.TITOLO=TEMA.TITOLO AND TEMA.NUM_PAGINE >3
    GROUPBY ALUNNO.CODICE

    Così però non manda in output gli alunni che hanno consegnato 0 temi con la caratteristica richiesta..

  4. #4
    ma funziona questa query?

    metti nel group by un campo non presente nel select
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    24
    funzionare funziona...credo perchè l'attributo codice è un attributo di alunno..

  6. #6
    Quote Originariamente inviata da wolf1792 Visualizza il messaggio
    funzionare funziona...credo perchè l'attributo codice è un attributo di alunno..
    E' improbabile che funzioni... Supponiamo pero che tu usi uno strano dbms e funziona..

    Prova ad aggiungere dopo il group by :
    HAVING COUNT(TEMA.TITOLO) >=0
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    24
    I risultati me li da uguali sia con .codice nel group by che con .nome , .cognome..
    comunque..purtroppo aggiungere quello non cambia..stampa comunque quelli che ne hanno almeno 1..
    in ogni caso grazie per il tempo che mi stai concedendo

  8. #8
    Quote Originariamente inviata da wolf1792 Visualizza il messaggio
    I risultati me li da uguali sia con .codice nel group by che con .nome , .cognome..
    comunque..purtroppo aggiungere quello non cambia..stampa comunque quelli che ne hanno almeno 1..
    in ogni caso grazie per il tempo che mi stai concedendo

    puoi ripostare la query con anche l'having che hai scritto?
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    24
    Così ho anche risistemato il groupby..e semplicemente ho aggiunto in fondo quello che mi hai consigliato..

    SELECT ALUNNO.NOME, ALUNNO.COGNOME, COUNT (TEMA.TITOLO)

    FROM TEMA, CONSEGNA, ALUNNO
    WHERE ALUNNO.CODICE=CONSEGNA.CODICE AND CONSEGNA.TITOLO=TEMA.TITOLO AND TEMA.NUM_PAGINE >3
    GROUP BY ALUNNO.NOME, ALUNNO.COGNOME
    HAVING COUNT(TEMA.TITOLO) >=0

  10. #10
    facciamo una prova

    SELECT ALUNNO.NOME, ALUNNO.COGNOME, COUNT (TEMA.TITOLO)
    FROM TEMA, CONSEGNA, ALUNNO

    WHERE ALUNNO.CODICE=CONSEGNA.CODICE AND CONSEGNA.TITOLO=TEMA.TITOLO AND TEMA.NUM_PAGINE >3 OR ALUNNO.NOME=NULL OR ALUNNO.COGNOME=NULL
    GROUP BY ALUNNO.NOME, ALUNNO.COGNOME
    HAVING COUNT(TEMA.TITOLO) >=0
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

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.