简体   繁体   English

2个表的LEFT JOIN查询失败

[英]LEFT JOIN of 2 tables query is Failing

I am trying to get the left outer join of 2 tables with respect to two tables , but i am unable to execute this query , phpmyadmin is giving #1064 error on line 12 when running this query: 我正在尝试相对于两个表获取2个表的left outer join联接,但我无法执行此查询,运行此查询时phpmyadmin #1064 error on line 12给出#1064 error on line 12

SELECT 
pt.id as planid,
pt.trip_name,
pt.description,
cor.latitude,
cor.longitude,
bb.id as bookmarkid,
bb.num_of_persons as persons
FROM 
planned_trips as pt,
coordinates as cor,
LEFT JOIN Bookmarkedby as bb,Users as user
ON 
user.id = 1 AND
user.id = bb.user_id AND
bb.plannedtrips_id = pt.id AND
pt.coordinates_id = cor.id'

I've struggling for an hour , what am i missing?? 我挣扎了一个小时,我想念什么? my database schema looks like this: 我的数据库架构如下所示:

模式1

I am Currently just preparing my query i need to run this query on codeIgnitor . 我目前正在准备我的查询,我需要在codeIgnitor上运行此查询。

You need a separate LEFT JOIN for each table. 每个表都需要一个单独的LEFT JOIN

SELECT 
    pt.id as planid,
    pt.trip_name,
    pt.description,
    cor.latitude,
    cor.longitude,
    bb.id as bookmarkid,
    bb.num_of_persons as persons
FROM planned_trips as pt
INNER JOIN coordinates as cor ON pt.coordinates_id = cor.id
LEFT JOIN Bookmarkedby as bb ON bb.plannedtrips_id = pt.id
LEFT JOIN Users as user ON user.id = bb.user_id AND user.id = 1

Problem is in the line LEFT JOIN Bookmarkedby as bb,Users as user . 问题是在LEFT JOIN Bookmarkedby as bb,Users as user行中, LEFT JOIN Bookmarkedby as bb,Users as user Consider changing it to 考虑将其更改为

FROM 
planned_trips as pt
JOIN coordinates as cor ON pt.coordinates_id = cor.id
LEFT JOIN Bookmarkedby as bb ON bb.plannedtrips_id = pt.id
LEFT JOIN Users as user ON user.id = bb.user_id 
AND user.id = 1 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM