SQL = "SELECT kompisar.* From kompisar k inner join members m on m.medlem = k.medlem " &_
" WHERE agare_id = "&session("id")&_
" AND godkann = 'ja' " &_
" and status = 'online' order by medlem"
Nu vet jag inte om kolumnnamnen stämmer .
10 svar · 229 visningar · startad av ampy
Har denna sql-sats:
SQL = "SELECT * From kompisar WHERE agare_id = "&session("id")&" AND godkann = 'ja' order by medlem"
Men hur gör man så att det användarnamnt man hämtar från från denna tabell ska vara online i tabellen members.
Alltså i tabellen kompisar hämtar jag användarnamnet från kolumnen medlem. Värdet i kolumnen medlem ska sedan kollas i tabellen members om den medlemmen är online. Det kollas genom att det antingen är online eller offline i kolumnen status.
Hoppas någon fattar vad jag menar :q
SQL = "SELECT kompisar.* From kompisar k inner join members m on m.medlem = k.medlem " &_
" WHERE agare_id = "&session("id")&_
" AND godkann = 'ja' " &_
" and status = 'online' order by medlem"
Nu vet jag inte om kolumnnamnen stämmer .
Nu får jag:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[TCX][MyODBC]Unknown table 'kompisar'
Tabellen kompisar finns.
Mitt fel, eftersom jag har definierat ett alias för kompisar så måste jag använda det.
SQL = "SELECT k.* From kompisar k inner join members m on m.medlem = k.medlem " &_
" WHERE agare_id = "&session("id")&_
" AND godkann = 'ja' " &_
" and status = 'online' order by k.medlem"
Sjukt, den skriver ut alla medlemmar ändå, även dem som är utloggade.
Kan du inte prova att definiera vilka tabeller kolummerna finns i på resterande parametrar?
Testade att skriva så här men det funkar inte heller. Den skriver ut dem som även är offline.
SQL = "SELECT k.* From kompisar k inner join members m on m.username = k.medlem " &_
" WHERE k.agare_id = "&session("id")&_
" AND k.godkann = 'ja' " &_
" and m.status = 'online' order by k.medlem"
Set recset = connect.execute(SQL)
Vad gör den koden som är markerad med fetstil egentligen?
SQL = "SELECT k.* From kompisar k inner join members m [B]on m.username = k.medlem[/B] " &_
" WHERE k.agare_id = "&session("id")&_
" AND k.godkann = 'ja' " &_
" and m.status = 'online' order by k.medlem"
Set recset = connect.execute(SQL)
Det avgör vilka poster som kommer med i resultatet, det är bara de poster där det är samma värde i username och medlem som kommer med
t.ex.
kompisar
username
--------
a
b
c
members
medlem
---------
b
c
d
i det här fallet så kommer b och c med eftersom de värdena finns i båda tabellerna.
Bara en undran, kan det vara så att du har flera poster i members där medlem är samma?
Du kanske har missuppfattat, men i kolumnen username i tabellen members så är det bara olika namn, samma namn finns inte två ggr.
Någon som förstår varför denna SQL-sats även hämtar poster i med värdet offline i kolumnen m.status?
SQL = "SELECT k.*, m.* From kompisar k inner join members m on m.username = k.agare " &_
"WHERE k.agare_id = "&session("id")&" AND k.godkann = 'ja' AND m.status = 'online' order by k.medlem"