Avatar billede langthjem Nybegynder
29. november 2006 - 17:28 Der er 5 kommentarer og
1 løsning

MySql SUM(Felt2 * Felt2)

Hej Eksperter,

jeg har et underligt problem med dette kald:

Set rs = Conn.Execute("SELECT tblshop_order.ID,InvoiceID,ShopID,Completed,Firstname,Lastname,SUM(tblshop_order_items.ItemCount * tblshop_order_items.ItemPrice) AS Total FROM tblshop_order INNER JOIN tblshop_order_items ON (tblshop_order_items.OrderID = tblshop_order.ID) GROUP BY tblshop_order.ID

Problemet er at når jeg eksekverer det i mit ASP script får jeg ingen records retur, men når jeg kører kaldet direkte på MySql'en giver den det rigtige resultat, hvad kan der være galt?
Avatar billede langthjem Nybegynder
29. november 2006 - 17:28 #1
I får lige den korte udgave:
Set rs = Conn.Execute("SELECT SUM(tblshop_order_items.ItemCount * tblshop_order_items.ItemPrice) AS Total FROM tblshop_order INNER JOIN tblshop_order_items ON (tblshop_order_items.OrderID = tblshop_order.ID) GROUP BY tblshop_order.ID
Avatar billede helmet Nybegynder
29. november 2006 - 18:34 #2
Du siger du ingen records får retur, er det fordi recordcount = 0 eller er recordsættet EOF??
Det er nemlig ikke altid recordcount er opdateret lidt afhængig af hvilken cursor du anvender
Avatar billede langthjem Nybegynder
29. november 2006 - 19:06 #3
Jeg bruger ikke ADO, og dermed ingen cursor type, jeg benytter som du kan se en Execute på forbindelsen.
Der tjekkes på EOF, og den er true ved ovennævnte kald.
Avatar billede helmet Nybegynder
29. november 2006 - 19:18 #4
Hvis du ikke bruger ado, hvad bruger du så, conn.execute returnerer vel et recordsæt som du også viser ovenfor? Hvilken type er det recordsæt så?
Avatar billede langthjem Nybegynder
01. december 2006 - 10:34 #5
Det er et alm. recordset, som jeg har lavet det 1000 gange før, men af en eller anden grund returnerer den intet ligeså snart jeg forsøger at lave "SUM(tblshop_order_items.ItemCount * tblshop_order_items.ItemPrice) AS Total".
Jeg bruger MySql Front til at vedligeholde min MySql, og når den får min query kommer der de rigtige records frem.
Avatar billede langthjem Nybegynder
01. december 2006 - 11:16 #6
Så fandt jeg løsningen:
CAST(SUM(tblshop_order_items.ItemCount * tblshop_order_items.ItemPrice) AS UNSIGNED) AS Total
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester