![](/img/trans.png)
[英]How to write this sql,left join,sum query in Laravel? How to use sum with left join in Laravel?
[英]How to use LEFT JOIN in this query
我有以下查詢
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
我需要使用LEFT JOIN上的gallery
, gallery_images
表(要能得到interview.title
即使沒有畫廊或默認圖片)
非常感謝
UPDATE
問題出在第二左聯接中。 我無法讓他們正確合作。 當我嘗試
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'
你知道你需要做什么。 Google是您的朋友嗎?
試試那個:
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;
不要混合使用ANSI-89樣式和ANSI-92樣式的連接。
我在這里找到了同樣的問題。
所以我的查詢必須像這樣
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.