När du använder Union får du ju inte med några fältnamn från annat än den första queryn.
Resultatet av queryn kommer se ut så här ungefär:
antal_mess
-------- ---------------
1 100
2 200
3 300
Mvh
5 svar · 225 visningar · startad av voigtann1
SQL = "select 1,count(*) as antal_mess from mess where username = '" & user &"' and read = false union all " & _
"select 2,count(*) as antal_gb from gb where mott = '" & user &"' and last = false union all " & _
"select 3,count(*) as antal_kompis from kompisar where kompis = '" & user &"' and besvarad = false order by 1"
Set mess = databas.Execute(SQL)
messantal = mess("antal_mess")
[b] gbantal = mess("antal_gb")[/b]
nyakompisar = mess("antal_kompis")
set mess = nothing
får felet:
Error Type:
ADODB.Recordset (0x800A0CC1)
Item cannot be found in the collection corresponding to the requested name or ordinal.
/voigtan/muffel/voigtmuffel/menu.asp, line 9
När du använder Union får du ju inte med några fältnamn från annat än den första queryn.
Resultatet av queryn kommer se ut så här ungefär:
antal_mess
-------- ---------------
1 100
2 200
3 300
Mvh
hur ska jag göra då för att få som jag vill?
movenext
Eller slå ihop det till en enda query istället för att använda union.
SQL = "select count(*) as antal_mess, (select count(*) from gb where mott = '" & user &"' and last = false) as antal_gb, (select count(*) from kompisar where kompis = '" & user &"' and besvarad = false) as antal_kompis from mess where username = '" & user &"' and read = false"
Man ska icke krångla i onödan.
mvh
tackar snabel