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

    [Mysql] Problema con selezione su COUNT

    ciao!

    ho questa query che mi tira fuori l'id di testata, e il numero di righe legate a quella testata:
    codice:
    SELECT dt_id, COUNT(dtr_articolo_fk) cnt
    FROM st_documenti_testate
    LEFT OUTER JOIN st_documenti_righe ON dtr_testata_fk = dt_id
    WHERE dt_chiuso = 0 
    GROUP BY dt_id
    funziona bene, ma dovrei aggiungerci un pezzo.
    in sostanza devo prendere solo queri record che hanno COUNT = 0.
    ho fatto diverse prove sia con un classico AND nella WHERE, sia con HAVING.
    o ottengo errore, o mi tirafuori zero record.
    ma sono sicuro che ci sono parecchi record con il COUNT = 0.
    qualche suggerimento??

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2016
    Messaggi
    29
    SELECT dt_id, COUNT(dtr_articolo_fk)AS cnt
    FROM st_documenti_testate
    LEFT OUTER JOIN st_documenti_righe ON dtr_testata_fk
    = dt_id
    WHERE dt_chiuso
    =0AND cnt = 0
    GROUP BY dt_id

  3. #3
    Quote Originariamente inviata da fladipa Visualizza il messaggio
    SELECT dt_id, COUNT(dtr_articolo_fk)AS cnt
    FROM st_documenti_testate
    LEFT OUTER JOIN st_documenti_righe ON dtr_testata_fk
    = dt_id
    WHERE dt_chiuso
    =0AND cnt = 0
    GROUP BY dt_id
    ciao!
    avevo provato questa query, ma mi da questo errore:
    codice:
    #1054 - Unknown column 'cnt' in 'where clause'
    allora avevo provato così:
    codice:
        SELECT dt_id, COUNT(dtr_articolo_fk) AS cnt
        FROM st_documenti_testate
        LEFT OUTER JOIN st_documenti_righe ON dtr_testata_fk = dt_id
        WHERE dt_chiuso =0 AND COUNT(dtr_articolo_fk) = 0
        GROUP BY dt_id
    ottenendo quest'altro errore:
    codice:
    #1111 - Invalid use of group function

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    71
    Avevi provato così?

    SELECT dt_id
    , COUNT(dtr_articolo_fk) cnt
    FROM st_documenti_testate
    LEFT OUTER JOIN st_documenti_righe ON dtr_testata_fk
    = dt_id
    WHERE dt_chiuso
    =0
    GROUP BY dt_id
    HAVING cnt=0

  5. #5
    eccola!
    query aggiudicata!

    non uso molto HAVING, e non ho provato a metterlo a quel punto della query.
    grazie!


    Quote Originariamente inviata da PisoloCa Visualizza il messaggio
    Avevi provato così?

    SELECT dt_id
    , COUNT(dtr_articolo_fk) cnt
    FROM st_documenti_testate
    LEFT OUTER JOIN st_documenti_righe ON dtr_testata_fk
    = dt_id
    WHERE dt_chiuso
    =0
    GROUP BY dt_id
    HAVING cnt=0

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    71
    Figurati!

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.