Avatar billede olsen205 Nybegynder
21. januar 2008 - 10:33 Der er 1 kommentar

Transact SQL - Problemer med subquery

Jeg har problemer når jeg vil kører følgende:

DECLARE @date AS DATETIME
DECLARE @yesterday AS DATETIME
SET @date = '2007-11-13'
SET @yesterday = dateadd(dd, -1, @date)
SELECT @date, @yesterday

WHILE  @date < getdate()
BEGIN

SELECT @date,
(SELECT timestamp, sum(order_volume)
FROM f_sales_orderbook_log
WHERE timestamp = @yesterday
GROUP BY timestamp) as 'Primo',
(SELECT timestamp, sum(order_volume)
FROM f_sales_orderbook_log
WHERE timestamp = @date
GROUP BY timestamp) as 'Ultimo'

SET @date = dateadd(dd, 1, @date)
END


Den kommer med følgende fejl:

Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.


Hvad skal ændres? Svar der giver en anden måde og løse problemet vil også være ok.
Avatar billede ruprect Nybegynder
24. januar 2008 - 15:06 #1
Det betyder at enten:

(SELECT timestamp, sum(order_volume)
FROM f_sales_orderbook_log
WHERE timestamp = @yesterday
GROUP BY timestamp)

eller

(SELECT timestamp, sum(order_volume)
FROM f_sales_orderbook_log
WHERE timestamp = @date
GROUP BY timestamp)

Returnerer mere end et resultat

Du skal fjerne timestamp fra dit resultatsæt, følgende burde virke:

(SELECT sum(order_volume)
FROM f_sales_orderbook_log
WHERE timestamp = @yesterday
GROUP BY timestamp)

og

(SELECT sum(order_volume)
FROM f_sales_orderbook_log
WHERE timestamp = @date
GROUP BY timestamp)
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