2015-05-21 44 views
1

虽然创造了Postgres的查询,我所导致的错误警告:pg_query():查询失败:ERROR:语法错误或接近 “WHERE”

Warning: pg_query(): Query failed: ERROR: syntax error at or near "WHERE"

,这是我的查询

SELECT 
     u.*, 
     m.*, 
     g.group_name as group_name, 
     g.id as group_id, 
     c.city, 
     m.city as id_city, 
     c.id_province, 
     p.province 
    FROM 
     ref_user u 
     JOIN ref_mitra m 
     JOIN ref_usergroup g 
     JOIN ref_city c 
     JOIN ref_province p 
     ON 
     u.id_mitra = m.id_mitra 
     AND g.id = m.company_group 
     AND c.id_city = m.city 
     AND c.id_province = p.id_province 
    WHERE 
     u.active = 'N' AND u.uid= '[email protected]' 

在MySQL中,SQL的作品, ,但现在我使用PostgreSQL,它不工作。

怎么了?

+0

那些不完整的连接条件都是** **完全无效的SQL。 MySQL _really_是否接受?这是疯了 –

+0

在mysql中,没有条件的连接被视为交叉连接,这就是为什么ref_province on子句需要过滤所有其他表。 – Gary

回答

4

尝试使用关键字“中的”在每个关键字加入:

SELECT u.*, 
     m.*, 
     g.group_name as group_name, 
     g.id as group_id, 
     c.city, 
     m.city as id_city, 
     c.id_province, 
     p.province 
FROM 
     ref_user u 
     JOIN ref_mitra m on u.id_mitra = m.id_mitra 
     JOIN ref_usergroup g on g.id = m.company_group 
     JOIN ref_city c on c.id_city = m.city 
     JOIN ref_province p on c.id_province = p.id_province 
WHERE 
     u.active = 'N' AND u.uid= '[email protected]' 
相关问题