webForumDet fria alternativet

Beräkning i sqlfrågan

Databaser & SQL

3 svar · 502 visningar · startad av KalsongCesar

Medlem sedan mars 2001339 inlägg
Frågan#1

HEj.
Har en sqlsats som returnerar följande info

datum	note_ask		closest	compto	id_datum
2006-10-16	127,5		0	1	2038
2006-10-16	134,6		1	2	2038
2006-10-16	135,4		2	2	2038
2006-10-13	127,5		0	0	2037
2006-10-13	134,6		1	1	2037
2006-10-13	135,4		2	2	2037

Kan jag på ngt sätt göra en summering av note_ask noterad 10-16 mot den 10-13 och compto mot closest.

Dvs första noteringen 127,5 ska jämföras mot closest 1 som är 134,6 vilket ger 127,5-134,6=-7,1

Jag har byggt uträkningen i asp, men vill flytta in den i sqlfrågan direkt. Är detta möjligt??

Medlem sedan dec. 200012 464 inlägg
#2
select note_ask - 
        (select note_ask 
           from <tabell> t
          where t.datum = q.datum
            and t.closest = q.compto) 
  from <tabell> as q
Medlem sedan mars 2001339 inlägg
#3

Hej, tack för svaret.
Min tabell är en relativt lång sql-sats med massa innerjoins, ska jag spara den som temporär tabell och sen anropa den med din kod?

where t.datum = q.datum

ger inte det träff på datum där de är lika, jag vill jämföra ett datum mot föregående.

2006-10-16 127,5 0 1 2038
mot
2006-10-13 134,6 1 1 2037

Medlem sedan mars 2001339 inlägg
#4
SELECT     note_ask -
              (SELECT note_ask  FROM cashpris_noteringar t
              WHERE  t.id_datum < q.id_datum AND t.closest = q.compto AND t.id_cashravara = q.id_cashravara) AS Expr1
FROM         dbo.cashpris_noteringar q
WHERE     (id_datum = 2038)

Försök, men den vill inte fungera

391 ms totalt · 3 externa anrop · v20260731065814-full.767b4345
139 ms — deklarationer (db)
120 ms — hämta statistik (db)
128 ms — hämta tråd, inlägg och bilagor (db)