Re: Syntax problem for a newbie - Mailing list pgsql-general

From Tom Lane
Subject Re: Syntax problem for a newbie
Date
Msg-id 25985.1146847741@sss.pgh.pa.us
Whole thread Raw
In response to Syntax problem for a newbie  ("Fred" <frederic.fleche@gmail.com>)
Responses Re: Syntax problem for a newbie
List pgsql-general
"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

pgsql-general by date:

Previous
From: Stephan Szabo
Date:
Subject: Re: ERROR: more than one row returned by a subquery used
Next
From: Tony Caduto
Date:
Subject: Re: Syntax problem for a newbie