Avatar billede lazy_warrior Nybegynder
26. april 2005 - 10:17 Der er 3 kommentarer og
1 løsning

Bruge værdier i select til beregninger

Hej folkens
Jeg har et lille problem, som jeg ikke kan gennemskue

Jeg har en select hvor der summeres en værdig, afhængig af rækkens ide. I alt er der 4 summeringer (se eksempel nedenfor). Jeg skulle gerne have en femte værdi, der trækker de fire tidligere fra en total opsummering, så det der har andre ID-er sammen.

Eksempel (her kun 2 id'er)

SELECT produktId,
          CAST(isnull((Select SUM(ptemp_sum.quantity) from #Product_temp ptemp_sum with (nolock) where Id = 1 and ptemp.item = ptemp_sum.item), 0) as char(25)) as [Interval 1],
          CAST(isnull((Select SUM(ptemp_sum.quantity) from #Product_temp ptemp_sum with (nolock) where Id = 2 and ptemp.item = ptemp_sum.item), 0) as char(25)) as [Interval 2]

from #Product ptemp with (nolock)
group by productId, item

Nu vil jeg gerne have en sidste med, som jeg forestiller mig ser noget lignede således ud
Select (SUM(ptemp_sum.quantity) - [Interval 1] - [Interval 2]) from #Product_temp ptemp_sum with (nolock) where ptemp.item = ptemp_sum.item

Den klager dog over ikke at kende Interval 1 og Interval 2.
Hvorledes kan man lave en sådan beregning? skal man beregne summen en gang til? Det virker som over-kill at beregne summen igen.

Mvh
Kristoffer
Avatar billede lazy_warrior Nybegynder
26. april 2005 - 10:20 #1
doh, kan se at jeg selecter det som chars, dette har jeg ændret til int, dog får jeg stadig samme fejl.
Avatar billede janus_007 Nybegynder
27. april 2005 - 00:51 #2
Hvor mange rækker er der tale om der skal summeres?
Avatar billede lazy_warrior Nybegynder
27. april 2005 - 10:17 #3
Det varierer, men det er en 10 stykker, men de skal findesi en tabel med nogle hundrede tusinde poster. Det var ikke så slemt som jeg frygtede, og en sum mere har ikke kostet det vilde i performance.
Avatar billede lazy_warrior Nybegynder
27. april 2005 - 10:17 #4
Så problemet er egentligt løst
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
Computerworld tilbyder specialiserede kurser i database-management

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