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

Discussione: Query Select Count

  1. #1
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870

    Query Select Count

    Ciao a tutti.

    La query è la seguente:

    codice:
    sql = " SELECT "
    sql = sql & " DATA, CODICE, QUALIFICA, "
    sql = sql & " COUNT(CODICE) "
    sql = sql & " AS totale "
    sql = sql & " FROM "
    sql = sql & " tbl "
    sql = sql & " WHERE "
    sql = sql & " DATA = '" & formatGMTDate(Date(),0,"yyyy-mm-dd") &"' "
    sql = sql & " AND "
    sql = sql & " QUALIFICA = 'AAA' "
    sql = sql & " GROUP BY  "
    sql = sql & " DATA "
    Nella tbl ho una situazione del tipo:

    ID = 1
    DATA = 08/04/2008
    CODICE = 123
    QUALIFICA = AAA
    ORE = 5

    ID = 2
    DATA = 08/04/2008
    CODICE = 123
    QUALIFICA = AAA
    ORE = 3

    Quando la query esegue COUNT(CODICE) i due records di cui sopra vengono contati per due volte, invece dovrebbero valere solo per un record... dove sbaglio ?

    Grazie mille

  2. #2
    se sono DUE record, la COUNT riporta DUE...

  3. #3
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Originariamente inviato da optime
    se sono DUE record, la COUNT riporta DUE...
    Si d'accordo... ma non c'è un modo per raggrupparli ?

    Pensavo che con :

    codice:
    sql = sql & " GROUP BY  "
    sql = sql & " DATA "
    Invece no.... il problema che questo dato estratto dalla query lo confronto con un altro dato che viene da un'altra query che conta i record con CODICE = 123 nella tbl_anagrafica... insomma mi trovo con questa situazione:

    da tbl_anagrafica con CODICE = 123 numero records 35
    da tbl con CODICE = 123 numero records 38

    Così non può funzionare...

  4. #4
    devi rifare la COUNT di codice con una query separata che prenda in considerazione SOLO il codice

  5. #5
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Originariamente inviato da optime
    devi rifare la COUNT di codice con una query separata che prenda in considerazione SOLO il codice
    Cioè tre query:

    1) una su tbl_anagrafica con CODICE = 123
    2) una su tbl con CODICE = 123
    3) la query che ho già postato

    Ho capito bene?

  6. #6

  7. #7
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Sono un pò confuso a dirti la verità.... posto il codice con le due query vediamo se possiamo capirci meglio:

    codice:
    <%
    
    sql = " SELECT"
    sql = sql & " DATA,"
    sql = sql & " CODICE,"
    sql = sql & " QUALIFICA,"
    sql = sql & " COUNT(CODICE) AS totale"
    sql = sql & " FROM " 
    sql = sql & " tbl "
    sql = sql & " WHERE "
    sql = sql & " CODICE LIKE '123%'"
    sql = sql & " AND DATA = '2008-04-08'"
    sql = sql & " AND QUALIFICA = 'AAA'"
    sql = sql & " GROUP BY "
    sql = sql & " DATA "
    
    Set RS = Server.CreateObject("ADODB.Recordset")
    RS.Open sql, cn
    
    response.write RS("totale") & "
    "
    
    sql_count = " SELECT "
    sql_count = sql_count & " COUNT(CODICE) "
    sql_count = sql_count & " FROM "
    sql_count = sql_count & " tbl_anagrafica "
    sql_count = sql_count & " WHERE "
    sql_count = sql_count & " CODICE LIKE '123%' "
    sql_count = sql_count & " AND "
    sql_count = sql_count & " CATEGORIA = 'AAA' "
       
    Set objRS = Server.CreateObject("ADODB.Recordset")
    objRS.Open sql_count, cn
    
       response.write objRS(0) & "
    "
    
    RS.Close
    Set RS = Nothing
    
    objRS.Close
    Set objRS = Nothing
    
    cn.Close
    Set cn = Nothing 
    
    %>

  8. #8
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Scusate ma non riesco a risolvere il problema...

  9. #9
    ti ho già detto di fare un'altra query...

  10. #10
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Originariamente inviato da optime
    ti ho già detto di fare un'altra query...
    Scusa se te lo chiedo, ma la query che suggerisci da che cosa è diversa da questa che già eseguo ?

    codice:
    sql_count = " SELECT "
    sql_count = sql_count & " COUNT(CODICE) "
    sql_count = sql_count & " FROM "
    sql_count = sql_count & " tbl_anagrafica "
    sql_count = sql_count & " WHERE "
    sql_count = sql_count & " CODICE LIKE '123%' "
    sql_count = sql_count & " AND "
    sql_count = sql_count & " CATEGORIA = 'AAA' "

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.