webForumDet fria alternativet
Logga in / Bli medlem

Inner Joins...

Databaser & SQL

3 svar · 210 visningar · startad av DiDjo

Medlem sedan nov. 2002544 inlägg
Trådstart#1

Hej! Chansar på att detta ska va i SQL forumet :)

sql = "SELECT topics.*, forums.*, statusname, statuslevel, moderator, gnamn.posts FROM (status INNER JOIN gaster ON status.statusid = gnamn.forumstat) INNER JOIN ((forums INNER JOIN moderators ON forums.forumid = moderators.moderatorforum) INNER JOIN topics ON forums.forumid = topics.forum) ON gaster.gnamn = topics.by WHERE topics.id = " & id
Set rsRoot = Server.CreateObject("ADODB.Recordset")
rsRoot.Open sql, conn, 3, 3

Får detta fel på den koden:

Microsoft JET Database Engine error '80040e14' 

Syntax error in JOIN operation. 

/kommun/forum/forum_las.asp, line 33

Har haft samma fel förut, antagligen för gaster och gnamn ligger fel i koden... gaster är en tabell, gnamn en kolumn :)

Medlem sedan dec. 200012 464 inlägg
#2

Då access har så konstiga regler för multipla join så är det enklare att ange join-villkoren i where.

SELECT topics.*, forums.*, statusname, statuslevel, moderator, gaster.posts 
FROM status, gaster, forums, moderators,topics
where status.statusid = gaster.forumstat
and forums.forumid = moderators.moderatorforum
and forums.forumid = topics.forum
and gaster.gnamn = topics.by 
and topics.id = " & id

annars

SELECT topics.*, forums.*, statusname, statuslevel, moderator, gaster.posts 
from (((status inner join gaster on status.statusid = gaster.forumstat)
inner join topics on gaster.gnamn = topics.by )
inner join forums on topics.forumid = forums.forum )
inner join moderators on forums.forumid = moderators.moderatorforum
where topics.id = " & id

Med reservation för felaktiga tabellnamn/kolumnnamn. (Jag bytte alla förekomster av tabellnamnet gnamn till gaster.)

Medlem sedan juni 200032 967 inlägg
#3

Utan att ha lusläst din kod tycker jag det är ganska skumt att du försöker joina in en tabell utan att ha med den i joinvillkoret?

...status INNER JOIN [b]gaster[/b] ON [b]status[/b].statusid = [b]gnamn[/b].forumstat...

Edit: LarsG invalidifierar mitt inlägg, i vanlig ordning. ;)

Medlem sedan nov. 2002544 inlägg
#4

@nders... Jag vet inte riktigt hur det ser ut, jag håller på att göra om mitt gamla forum, så det passar nya! Alla tabeller är lika, utom "gaster" och kolumnen "gnamn", i den gamla hetter tabellen anv och kolumnen anv, så det är svårt att veta vilken som ska vart... :)

LarsG: Den första koden fungerar! Sen var det en till nästan lika SQL rad... men den fick vara! För nu vet jag vilken som är tabell och kolumn i koden :e

Tack så mycket till er båda :)

258 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
117 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)