webForumDet fria alternativet

Syntax error på Inner Join

9 svar · 212 visningar · startad av Pace

PaceMedlem sedan juni 20015 947 inlägg
#1

Får detta felet, funkar annars utmärkt i Access.

[TCX][MyODBC]You have an error in your SQL syntax near '(PaceBoard_Categorys INNER JOIN PaceBoard_Forums ON PaceBoard_Categorys.Cat_ID =' at line 1
		' Hämta kategorier, forum, moderatorer etc.
		SQL = "SELECT PaceBoard_Categorys.Cat_ID, PaceBoard_Categorys.Cat_Name," & _
			" PaceBoard_Forums.Forum_ID, PaceBoard_Forums.F_Name," & _
			" PaceBoard_Forums.F_Description, PaceBoard_Forums.F_Cat," & _
			" PaceBoard_Forums.F_Threads, PaceBoard_Forums.F_Posts," & _
			" PaceBoard_Forums.F_Last_Post, PaceBoard_Forums.F_Moderator," & _
			" PaceBoard_Members.M_Name" & _
			" FROM PaceBoard_Members INNER JOIN (PaceBoard_Categorys" & _
			" INNER JOIN PaceBoard_Forums" & _
			" ON PaceBoard_Categorys.Cat_ID = PaceBoard_Forums.F_Cat)" & _
			" ON PaceBoard_Members.Member_id = PaceBoard_Forums.F_Moderator" & _
			" ORDER BY PaceBoard_Categorys.Cat_ID ASC, PaceBoard_Forums.F_Name ASC"

------------------
"Tål det inte att skämtas om, är det inte värt att ta på allvar."

spangoMedlem sedan juni 20006 147 inlägg
#2

Ta bort paranteserna runt join-villkoret...

------------------
You can be a coward for a few minutes, or dead forever. /Rincewind

PaceMedlem sedan juni 20015 947 inlägg
#3

Hmmm, då får jag

TCX][MyODBC]You have an error in your SQL syntax near 'INNER JOIN PaceBoard_Forums ON PaceBoard_Categorys.Cat_ID = PaceBoard_Forums.F_C' at line 1

------------------
"Tål det inte att skämtas om, är det inte värt att ta på allvar."

jorgenMedlem sedan feb. 20012 179 inlägg
#4

Hej!

Skriv ut sql-frågan med response.write så vi får se :)

mvh Jörgen

------------------
Varför bråka när man kan kramas?

PaceMedlem sedan juni 20015 947 inlägg
#5

Den är ju exakt samma eftersom jag inte har några variabler i den.

------------------
"Tål det inte att skämtas om, är det inte värt att ta på allvar."

spangoMedlem sedan juni 20006 147 inlägg
#6

OK... jag skulle ha gjort då här:

SELECT
	PaceBoard_Categorys.Cat_ID, PaceBoard_Categorys.Cat_Name,
	PaceBoard_Forums.Forum_ID, PaceBoard_Forums.F_Name,
	PaceBoard_Forums.F_Description, PaceBoard_Forums.F_Cat,
	PaceBoard_Forums.F_Threads, PaceBoard_Forums.F_Posts,
	PaceBoard_Forums.F_Last_Post, PaceBoard_Forums.F_Moderator,
	PaceBoard_Members.M_Name
FROM
	PaceBoard_Members
WHERE
	PaceBoard_Categorys.Cat_ID = PaceBoard_Forums.F_Cat
	AND PaceBoard_Members.Member_id = PaceBoard_Forums.F_Moderator
ORDER BY PaceBoard_Categorys.Cat_ID ASC, PaceBoard_Forums.F_Name ASC

Jag har aldrig riktigt förstått varför man använder sig av INNER JOIN-syntaxen på det där viset, när man kan använda ett betydligt mindre fjantigt och mycket enklare sätt som funkar likadant ;)
F.ö. heter "category" i plural "categories", inte "categorys" :p

------------------
You can be a coward for a few minutes, or dead forever. /Rincewind

PaceMedlem sedan juni 20015 947 inlägg
#7

F.ö. heter "category" i plural "categories", inte "categorys"

Jag vet mycket väl att det heter categories. Likaså så heter det replies och inte replys. Anledningen till det är att de inte hade S i slutet från början, så istället för att krångla till det så brydde jag mig inte om att ändra det.

------------------
"Tål det inte att skämtas om, är det inte värt att ta på allvar."

PaceMedlem sedan juni 20015 947 inlägg
#8

Jag försökte mig på att använda WHERE fält1 = fält2 osv från början, men för mig gick det inget vidare.

Nu fick jag följande fel istället. :l

[TCX][MyODBC]Unknown table 'PaceBoard_Categorys' in field list

------------------
"Tål det inte att skämtas om, är det inte värt att ta på allvar."

spangoMedlem sedan juni 20006 147 inlägg
#9

Fixa till FROM-listan så att den innehåller alla tabellerna man joxar med.

------------------
You can be a coward for a few minutes, or dead forever. /Rincewind

PaceMedlem sedan juni 20015 947 inlägg
#10

Oj, det var visst jag som gjorde fel där. Hade på något vis råkat pillat bort det blåmarkerade:

FROM
PaceBoard_Forums, PaceBoard_Members, PaceBoard_Categorys
WHERE
PaceBoard_Categorys.Cat_ID = PaceBoard_Forums.F_Cat
AND PaceBoard_Members.Member_id = PaceBoard_Forums.F_

Tackar spango! :)

------------------
"Tål det inte att skämtas om, är det inte värt att ta på allvar."

Genererad på 374 ms · cache AV · v20260730165559-full.f96bc7eb