webForumDet fria alternativet

Ska även vara online

10 svar · 229 visningar · startad av ampy

ampyMedlem sedan feb. 20011 498 inlägg
#1

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

LarsGMedlem sedan dec. 200012 464 inlägg
#2
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 .

ampyMedlem sedan feb. 20011 498 inlägg
#3

Nu får jag:

Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[TCX][MyODBC]Unknown table 'kompisar'

Tabellen kompisar finns.

LarsGMedlem sedan dec. 200012 464 inlägg
#4

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"
ampyMedlem sedan feb. 20011 498 inlägg
#5

Sjukt, den skriver ut alla medlemmar ändå, även dem som är utloggade.

JosefMedlem sedan mars 20023 561 inlägg
#6

Kan du inte prova att definiera vilka tabeller kolummerna finns i på resterande parametrar?

ampyMedlem sedan feb. 20011 498 inlägg
#7

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)
ampyMedlem sedan feb. 20011 498 inlägg
#8

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)
LarsGMedlem sedan dec. 200012 464 inlägg
#9

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?

ampyMedlem sedan feb. 20011 498 inlägg
#10

Du kanske har missuppfattat, men i kolumnen username i tabellen members så är det bara olika namn, samma namn finns inte två ggr.

ampyMedlem sedan feb. 20011 498 inlägg
#11

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"
140 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)