webForumDet fria alternativet

Fungerar inte (union och count)

6 svar · 287 visningar · startad av nisslass

nisslassMedlem sedan nov. 2001348 inlägg
#1

Varför får jag inte följande att fungera?

SQL = "(select count(*) as antalbokningar from Bokningar Where Kollad <> '3') 
union (select count(*) as antalbokningar2 from Bokningar where Kung='1' AND Kollad <> '3') 
union (select count(*) as antalbokningar3 from Bokningar where Kung='1' AND Kollad='0')"

Set RS = Conn.Execute(SQL)
antalbokningar = rs("antalbokningar")
antalbokningar2 = rs("antalbokningar2") <- detta är rad 143
antalbokningar3 = rs("antalbokningar3")
rs.close

Får felmeddelandet:

ADODB.Recordset error '800a0cc1'

Item cannot be found in the collection corresponding to the requested name or ordinal.

/online/hantering.asp, line 143

Whyyy? Har även provat utan parenteser i sql-frågan.
(Har inte med radbrytningarna i min kod)

yohpopsMedlem sedan feb. 20011 198 inlägg
#2

Det blir fel eftersom det inte blir tre fält av din fråga, snarare tre rader.

LarsGMedlem sedan dec. 200012 464 inlägg
#3

Flyttas från Mysql

nisslassMedlem sedan nov. 2001348 inlägg
#4

yohpops skrev:

Det blir fel eftersom det inte blir tre fält av din fråga, snarare tre rader.

Hur menar du nu?

LarsGMedlem sedan dec. 200012 464 inlägg
#5

Han menar att resultatet av din fråga blir en tabell med följande utseende.

antalbokningar
-------------------
<värde>
<värde>
<värde>
nisslassMedlem sedan nov. 2001348 inlägg
#6

Oookey, hur får jag till det så det blir som jag vill då? ;)

Nu har jag det i 3 olika frågor. Vill ju slå ihop allt till en.

LarsGMedlem sedan dec. 200012 464 inlägg
#7
select sum(case when kollad <> '3' then 1 else 0 end) b1,
       sum(case when kollad <> '3' and kung = '1' then 1 else 0 end) b2,
       sum(case when kollad = '0' and kung = '1' then 1 else 0 end) b3
from bokningar
Where (Kollad <> '3') 
   or (Kung='1' AND Kollad <> '3') 
   or (Kung='1' AND Kollad='0')
134 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)