Visualizzazione dei risultati da 1 a 10 su 10

Discussione: select sum

  1. #1
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427

    select sum

    ho quetsa query:


    Set rs1 = Server.CreateObject("ADODB.Recordset")
    sql1="(SELECT SUM(TOTPAX) as tot FROM pren3 where id_ogg=1 )"
    rs1.open sql1, conn
    if rs1.eof then
    response.write "nessun record"
    else
    response.write rs1("tot")
    response.write "
    "
    end if

    succede che se id_ogg non è presente tra i record dovrebbe scrivere a video: nessun record.
    Invece non scrive nulla.
    Nel caso contrario da il totale.
    Perchè?

  2. #2
    Utente di HTML.it L'avatar di salvod
    Registrato dal
    Feb 2002
    Messaggi
    314
    perke sum è un'aggregatore, restituisce un numero, non un insieme di tuple, il controllo fallo sullo 0

  3. #3
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    [B], il controllo fallo sullo 0
    che intendi sullo 0????
    sul record 0 ??

    forse è obbligatorio controllare precedentemente se la tabella ha un record id_ogg=1

    e poi effettuare la somma?

  4. #4
    Utente di HTML.it L'avatar di salvod
    Registrato dal
    Feb 2002
    Messaggi
    314
    no.. instendo semplicemente se rs1("tot") è = 0

  5. #5
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    ho provato così ma vedo solo una pagina bianca

    if rs2("tot")= 0 or rs2="0" or rs2("tot") = null or rs2("tot")="" then

    response.write "testok"

    else
    response.write "testko"

    end if

  6. #6
    Prova così:

    codice:
    Set rs1 = Server.CreateObject("ADODB.Recordset") 
    sql1="(SELECT SUM(TOTPAX) as tot FROM pren3 where id_ogg=1 )" 
    rs1.open sql1, conn 
    if rs1("tot") = 0 then 
    response.write "nessun record" 
    else 
    response.write rs1("tot") 
    response.write "
    " 
    end if
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  7. #7
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    nessun cambiamento....
    pagina bianca

  8. #8
    Vedi così cosa ti stampa nella parte in grassetto (simula il caso il cui non dovrebbe estrarre nessuna sommatoria):

    codice:
    Set rs1 = Server.CreateObject("ADODB.Recordset") 
    sql1="(SELECT SUM(TOTPAX) as tot FROM pren3 where id_ogg=1 )" 
    rs1.open sql1, conn 
    response.write rs1("tot") 
    if rs1("tot") = 0 then 
    response.write "nessun record" 
    else 
    response.write rs1("tot") 
    response.write "
    " 
    end if
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  9. #9
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    se simulo solo l'estrazione dei dati senza sum ottenfgo il risultato che voglio.
    Quindi sembra che prima di effettuare la somma devo controllare se il valore ricercato è presente o no.
    Asseggnando un valor "0" in caso non sia presente.

    Sembra sia l'unica.

  10. #10
    Scusami, ma non ti ho capito.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

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.