"Fred" <frederic.fleche@gmail.com> writes:
> I have a syntax problem but I don't find the clue.
> Actually I adapt an mySQL query to a postgreSQL but I got a message
> error that I can't interpret.
> SELECT g.id, t1.name, substring(g.path, 1, (6*(-1+l.id)) + 5) as
> subpath,l.id-1 as level
> FROM graph_path g
> INNER JOIN term AS t1
> INNER JOIN term AS t2 ON (t2.id = g.term2_id)
> INNER JOIN levels l ON (substring(path, 1+(6*(-1+l.id)), 5) = t1.id
> AND g.distance+1 >= l.id)
> WHERE t2.name = 'blood_coagulation' and g.term1_id=1
> ORDER BY g.id, subpath;
You're short an ON condition: there has to be an ON for every JOIN.
Or turn the first INNER JOIN into a CROSS JOIN, so it doesn't need an ON.
Does MySQL really accept that as-is? (Standards compliance was never
their strong point :-()
regards, tom lane