Gruppering af data i select statement
HejJeg har følgende query, som jeg ønsker skulle resultere i følgende:
DK DE
1100 2000
I stedet returnerer den:
DK
1100
2000
:::QUERY:::
declare @dateFrom smalldatetime
declare @dateTo smalldatetime
declare @DK varchar(50)
declare @NO varchar(50)
set @dateFrom = '2009-01-01'
Set @dateTo = '2009-01-31'
SELECT COUNT(*) AS DK
FROM (SELECT DISTINCT countrycode, bookingnr
FROM bookings
WHERE (date BETWEEN @dateFrom AND @dateTo) AND countrycode IN (11, 12)) AS t
UNION ALL
SELECT COUNT(*) AS DE
FROM (SELECT DISTINCT countrycode, bookingnr
FROM bookings
WHERE (date BETWEEN @dateFrom AND @dateTo) AND countrycode IN (13, 14)) AS e
::: SLUT :::
Jeg gætter på jeg skal have omskrevet queryen med nogle CASE og END AS, men præcis hvordan kan jeg ikke lure.
Endnu bedre ville det være hvis jeg kunne lave en WHILE statement, der kører løkken igennem indtil alle variabler er tømt.
I øvrigt:
Når jeg prøver at sætte eks. @DK = 11,12 i ovenstående query, får jeg i øvrigt flg. fejl:
Msg 245, Level 16, State 1, Line 12
Conversion failed when converting the varchar value '11,12' to data type int.