webForumDet fria alternativet

Strul med JOIN

2 svar · 212 visningar · startad av G8

G8Medlem sedan jan. 20011 213 inlägg
#1
SELECT Forumtopic.topic, Forumtopic.id as Forumid, forumthreads.id AS 
tradid, forumthreads.rubrik, forumthreads.inlagg, forumthreads.datum, 
forumsvar.id, forumsvar.svar, forumsvar.datum FROM forumthreads INNER 
JOIN forumsvar ON forumthreads.id = forumsvar.ticketid WHERE 
forumsvar.datetime = (SELECT MAX(forumsvar.datetime) FROM forumsvar 
WHERE topicid = forumthreads.ID) INNER JOIN Forumtopic ON 
forumthreads.catid = Forumtopic.id WHERE ((rubrik LIKE '%test%') OR (inlagg 
LIKE '%test%') OR (svar LIKE '%test%')) ORDER BY forumthreads.datum asc 
limit 100

får felmeddelande:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INNER JOIN Forumtopic ON forumthreads.catid = Forumtopic.id WHERE ((rubrik LIKE ' at line 1

Kan ju erkänna att jag inte har riktigt pejling på de olika joinsen och vad de gör..

LarsGMedlem sedan dec. 200012 464 inlägg
#2
SELECT Forumtopic.topic, 
       Forumtopic.id as Forumid, 
       forumthreads.id AS tradid, 
       forumthreads.rubrik, 
       forumthreads.inlagg, 
       forumthreads.datum, 
       forumsvar.id, 
       forumsvar.svar, 
       forumsvar.datum 
  FROM forumtopics 
   INNER JOIN forumthreads 
     on  Forumtopic.id = forumthreads.catid
  INNER JOIN forumsvar 
    ON forumthreads.id = forumsvar.ticketid 
 WHERE forumsvar.datetime = 
   (SELECT MAX(forumsvar.datetime) 
     FROM forumsvar 
    WHERE topicid = forumthreads.ID) 
  and (rubrik LIKE '%test%'
   OR inlagg LIKE '%test%'
   OR svar LIKE '%test%') 
ORDER BY forumthreads.datum asc 
limit 100
G8Medlem sedan jan. 20011 213 inlägg
#3

über! :bire

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