Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    216

    COUNT non restituisce 0...

    codice:
    SELECT idAlbum, COUNT(idAlbum), album.titoloAlbum, album.descrizioneFROM photo INNER JOIN album ON (photo.idAlbum=album.id)
    GROUP BY idAlbum
    il risultato sarà le informazioni dell'album + il totale delle photo caricate all'interno della tabella photo tutto ragguppato per idAlbum
    questo è il risultato che volevo ma purtroppo la query esclude idAlbum = 0 all'intento della tabella photo, cioè non stampa ad esempio:
    idAlbum COUNT(idAlbum) album.titoloAlbum album.descrizione
    2 0 Prova COUNT il record non verrà stampato

    come posso risolvere? cosa aggiungere nella query???
    Server utilizzato: MySQL


    (cit.)
    Un misto tra pazzia ed intelligenza

  2. #2
    Having count.. >= 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

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    216
    codice:
    SELECT idAlbum, COUNT(idAlbum), album.titoloAlbum, album.descrizione
    FROM photo INNER JOIN album ON (photo.idAlbum=album.id)
    GROUP BY idAlbum
    HAVING COUNT(idAlbum)>= 0
    continua a stampare un solo record, quello con idAlbum != 0

    questa è la struttura delle tabelle:
    photo album
    id id
    idAlbum titoloAlbum
    titolo descrizione
    data_imm
    percorso
    Server utilizzato: MySQL


    (cit.)
    Un misto tra pazzia ed intelligenza

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    esistono valori photo.idAlbum e album.id uguali a zero?

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    216
    no all'interno di album ci sono 2 records(id 1 e 2), mentre all'interno di photo ce ne sono una 10ina i quali hanno tutti idAlbum = 1

    a me serve tener conto anche di quelli, come nel caso di idAlbum=2, che non sono presenti nella tabella photo
    Server utilizzato: MySQL


    (cit.)
    Un misto tra pazzia ed intelligenza

  6. #6
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    e allora cambia la join da INNER a RIGHT o LEFT a seconda della posizione della tabella dalla quale devi recuperare tutti i dati (direi RIGHT JOIN, se ho interpretato bene)

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    216
    Ottimo...
    Server utilizzato: MySQL


    (cit.)
    Un misto tra pazzia ed intelligenza

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    216
    mi sono reso conto che non stampa tutto...
    cioè se ci sono più count(idAlbum) = 0 fa una sorte di raggruppamento (infatti in idAlbum invece dell'id stampa NULL), stampando un solo record con count(idAlbum) = 0

    come separo gli id???

    codice:
    
    
    codice:
    SELECT DISTINCT(idAlbum), COUNT(idAlbum), album.titoloAlbum, album.descrizione
    FROM photo RIGHT JOIN album ON (photo.idAlbum=album.id)
    GROUP BY idAlbum
    HAVING COUNT(idAlbum)>= 0
    Server utilizzato: MySQL


    (cit.)
    Un misto tra pazzia ed intelligenza

  9. #9
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Qual'é la tabella "madre" e qual'è la "figlia" ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  10. #10
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    codice:
    SELECT photo.idAlbum, COUNT(photo.idAlbum) AS conteggio, album.titoloAlbum, album.descrizione
    FROM photo RIGHT JOIN album ON (photo.idAlbum=album.id)
    GROUP BY photo.idAlbum, album.id
    
    prova a testarla

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.