webForumDet fria alternativet

2 stycken join

6 svar · 361 visningar · startad av Thompa__85

Thompa__85Medlem sedan aug. 2002600 inlägg
#1

Hejsan wf!

Jag har lite problem med min join..
Så här är fallet: Jag bygger ett forum.
Jag har 2 tabeller, en med huvudrum och en med underrum.
För att få alla underum under rätt huvudrum va inga problem med hjälp av join.
Men, sen vill jag ha så att man ska se om de dykt upp nya inlägg sen man sist va inne och kollade. Så jag skapade en tabell med underrummets ID nummer, samt användar ID och datum.

Men, när jag lägger in det i min sql-sats så får den för sig att endast hämta forumrum som finns i bevakningstabellen:

min kod:

		SQL = "SELECT f.Board_id, f.strTitel, r.BoardU_id, r.Board_id, r.strTitel, b.BoardU_id, b.intUser, b.strDatum " _
		& "FROM boardrum f join boardurum r on f.Board_id = r.Board_id join forum_bevakning b on b.BoardU_id = r.BoardU_id  " _
		& "WHERE f.Board_id = r.Board_id " _
	    & "ORDER BY f.strTitel"

Någon som har någon idé hur jag ska göra?

emissionMedlem sedan dec. 19996 721 inlägg
#2

Du måste göra en "LEFT OUTER JOIN" mot bevakningstabellen, och dessutom lägga med ett vilkor för userid, som jag misstänker att du har i Session

OveRRidEMedlem sedan feb. 200112 078 inlägg
#3

Flyttas från ASP.

Thompa__85Medlem sedan aug. 2002600 inlägg
#4

emission skrev:

Du måste göra en "LEFT OUTER JOIN" mot bevakningstabellen, och dessutom lägga med ett vilkor för userid, som jag misstänker att du har i Session

Tror jag fick till det, ska kolla lite :) Tack!

emissionMedlem sedan dec. 19996 721 inlägg
#5
SQL = "SELECT f.Board_id, f.strTitel, r.BoardU_id, r.Board_id, r.strTitel, b.BoardU_id, b.intUser, b.strDatum " & _
	"FROM boardrum f join boardurum r on f.Board_id = r.Board_id left outer join forum_bevakning b on b.BoardU_id = r.BoardU_id  and b.intUser=" & Session("UserID") & _
"WHERE f.Board_id = r.Board_id " & _
"ORDER BY f.strTitel"
Thompa__85Medlem sedan aug. 2002600 inlägg
#6

emission skrev:

SQL = "SELECT f.Board_id, f.strTitel, r.BoardU_id, r.Board_id, r.strTitel, b.BoardU_id, b.intUser, b.strDatum " & _
	"FROM boardrum f join boardurum r on f.Board_id = r.Board_id left outer join forum_bevakning b on b.BoardU_id = r.BoardU_id  and b.intUser=" & Session("UserID") & _
"WHERE f.Board_id = r.Board_id " & _
"ORDER BY f.strTitel"

Fungerade bra!
Men nu är jag jobbig igen ;) jag vill ha in en tabell till och gjorde så här:

	SQL = "SELECT f.Board_id, f.strTitel, r.BoardU_id, r.Board_id, r.strTitel, b.BoardU_id, b.intUser, b.strDatum, m.strSenast, m.ref_id " _
		& "FROM boardrum f join boardurum r on f.Board_id = r.Board_id left outer join boardmessege m on m.ref_id = r.BoardU_id left outer join forum_bevakning b on b.BoardU_id = r.BoardU_id and b.intUser=" & Session("id") &" " _

Men får inte ut strSenast :/

emissionMedlem sedan dec. 19996 721 inlägg
#7

Om du inte får ut strSenast så beror på att det inte inte finns någon rad i boardmessage som matchar, eller så är kolumnen tom. Själva join-satsen ser helt ok ut.

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)