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

    COUNT solo se il campo ha valore 1

    Ciao a tutti,

    dopo circa tre ore di estenuanti ricerche non ho trovato la soluzione al mio problema e quindi eccomi qui a chiedere a voi.

    Ho la seguente query:

    codice:
    SELECT
    shop_sottocategorie.id_subcat AS ID_SUBCAT,
    shop_categorie.id_cat AS ID_CATEGORY,
    shop_articoli.id_art AS ID_ARTICLE,
    COUNT(shop_articoli.active) AS TOT_CORRELATE_PRODUCT
    FROM shop_sottocategorie
    LEFT JOIN shop_categorie ON shop_sottocategorie.id_cat = shop_categorie.id_cat
    LEFT JOIN shop_articoli ON shop_sottocategorie.id_subcat = shop_articoli.id_subcat
    				
    GROUP BY shop_sottocategorie.id_subcat
    ORDER BY
    shop_sottocategorie.sottocategoria ASC,
    shop_sottocategorie.id_subcat ASC
    dove con il COUNT vorrei sapere quanti articoli corrispondono alla sottocategoria.
    Ovviamente deve conteggiare solo gli articoli che hanno nel campo active il valore 1 escludendo quelli che hanno il valore 0.

    p.s. il GROUP BY deve per forza essere così com'è adesso altrimenti non mi conta bene le sottocategorie.

    ho provato acnhe con il SUM ma non va perchè mi restituisce un valore sballato rispetto al normale.

    Grazie mille e confido in voi.

    'notte.
    www.skorpiograph.com - [ PORTFOLIO ]
    ...se vuoi essere aiutato devi aiutare chi ti aiuta ad aiutarti!!!

  2. #2
    ok ho risolto

    per chi dovesse essere interessato:

    sostituire il rigo:
    COUNT(shop_articoli.active) AS TOT_CORRELATE_PRODUCT

    con il seguente
    SUM(IF(shop_articoli.active = '1', 1, 0)) AS TOT_CORRELATE_PRODUCT

    più semplice di quanto pensavo....accidenti a me e c'ho perso mezza giornata.......
    www.skorpiograph.com - [ PORTFOLIO ]
    ...se vuoi essere aiutato devi aiutare chi ti aiuta ad aiutarti!!!

  3. #3
    oppure usa il WHERE

    ....
    where shop_articoli.active = 1

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    Originariamente inviato da piero.mac
    oppure usa il WHERE

    ....
    where shop_articoli.active = 1
    in effetti è stata la prima cosa che ho fatto solo che in questo modo mi restituiva solo le sottocategorie che avevano almeno un articolo correlato mentre invece a me servono tutte, ovvero anche quelle che non hanno articoli.

    Grazie comunque e a buon rendere per tutte le "tue chicche" che ho raccolto durante le mie ricerce
    www.skorpiograph.com - [ PORTFOLIO ]
    ...se vuoi essere aiutato devi aiutare chi ti aiuta ad aiutarti!!!

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.