首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在此查询中使用左联接

如何在此查询中使用左联接
EN

Stack Overflow用户
提问于 2011-02-16 17:47:05
回答 3查看 1.5K关注 0票数 0

我有以下查询

代码语言:javascript
复制
SELECT
    interview_content.title `title`,
    gallery_images.img_path img
FROM
    `interview`,
    `interview_content`,
    `gallery`,
    `gallery_images`
WHERE
    `gallery_images`.`id_parrent` = `gallery`.`id`
AND
    `gallery`.`id` =  `interview`.`gallery_id`
AND
    `gallery_images`.`default` = '1'
AND
    `interview`.`id` = `interview_content`.`id_parrent`
AND
    interview_content.id_lang = '2'
ORDER BY
    interview.date DESC

我需要在gallerygallery_images表上使用左联接(即使没有图库或默认图像,也可以获得interview.title )。

非常感谢

更新

问题是,在第二左加入。我不能让他们正确地合作。当我尝试

代码语言:javascript
复制
SELECT
    interview_content.title `title`,
    gi.img_path img
FROM
    `interview`,
    `interview_content`
LEFT JOIN `gallery` as g ON g.`id` = `interview`.`gallery_id` 
LEFT JOIN `gallery_images` as gi ON gi.id_parrent = g.`id`
WHERE
    `interview`.`id` = `interview_content`.`id_parrent`
AND
    interview_content.id_lang = '2'
ORDER BY
    interview.date DESC

it returns //Unknown column 'interview.gallery_id' in 'on clause'
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-02-17 08:00:02

不要混合ANSI-89和ANSI-92样式的联接.

我发现了同样的问题,here

所以我的查询必须如下所示

代码语言:javascript
复制
SELECT
    ic.title `title`,
    gi.img_path img
FROM
    `interview` i
JOIN interview_content ic  on ic.id_parrent =  i.id AND ic.id_lang = '2'
LEFT JOIN `gallery` as g ON g.`id` = i.`gallery_id` 
LEFT JOIN `gallery_images` as gi ON gi.id_parrent = g.`id`
AND gi.`default` = '1'
WHERE
    i.`id` = ic.`id_parrent`
OPRDER BY
    `i`.`date` DESC
票数 1
EN

Stack Overflow用户

发布于 2011-02-16 17:50:59

你知道你需要做什么。谷歌是你的朋友吗?

http://en.wikipedia.org/wiki/Join_%28SQL%29#Left_outer_join

票数 3
EN

Stack Overflow用户

发布于 2011-02-16 17:56:45

试试那个:

代码语言:javascript
复制
SELECT
    interview_content.title `title`,
    gallery_images.img_path img
FROM
    `interview`,
    `interview_content`,
LEFT JOIN `gallery` ON (`interview`.`gallery_id` = `gallery`.`id` AND `gallery_images`.`default` = '1'), 
LEFT JOIN `gallery_images` ON `gallery`.`id` = `gallery_images`.`id_parrent`
WHERE
    `interview`.`id` = `interview_content`.`id_parrent`
AND
    interview_content.id_lang = '2'
ORDER BY
    interview.date DESC;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5020074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档