0
我收到以下查詢。 這應該返回一行,但它不。MySQL左加入,如果不是所有行都設置不成功,結果
不幸的是沒有。
當我刪除最後一個連接語句:
LEFT JOIN `serene_pagecontent` ON `serene_pageorder`.`pageorder_id` = `serene_pagecontent`.`pagecontent_link`
我得到的結果。但是,當它添加它不。 據我所知在加入之前添加LEFT應該提供結果,即使其中一個字段丟失。
SELECT * FROM `serene_page`
LEFT JOIN `serene_pageoptions` ON `serene_page`.`page_id` = `serene_pageoptions`.`pageoptions_link`
LEFT JOIN `serene_pagetitle` ON `serene_page`.`page_id` = `serene_pagetitle`.`pagetitle_link`
LEFT JOIN `serene_pageorder` ON `serene_page`.`page_id` = `serene_pageorder`.`pageorder_link`
LEFT JOIN `serene_pagecontent` ON `serene_pageorder`.`pageorder_id` = `serene_pagecontent`.`pagecontent_link`
WHERE `page_id` = 34 AND `pageoptions_language` = 'NL' AND `pagetitle_language` = 'NL' AND `pagecontent_language` = 'NL'
有誰能告訴我我缺少什麼。
編輯
WHERE `serene_page`.`page_id` = 34
AND serene_pageoptions`.`pageoptions_language` = 'NL'
AND serene_pagetitle`.`pagetitle_language` = 'NL'
AND serene_pagecontent`.`pagecontent_language` = 'NL'
編輯解決方案:解決方案通過 「克林斯曼d」
SELECT * FROM `serene_page` LEFT JOIN `serene_pageoptions` ON `serene_page`.`page_id` =`serene_pageoptions`.`pageoptions_link` AND `serene_pageoptions`.`pageoptions_language` = 'NL' LEFT JOIN `serene_pagetitle` ON `serene_page`.`page_id` = `serene_pagetitle`.`pagetitle_link` AND `serene_pagetitle`.`pagetitle_language` = 'NL' LEFT JOIN `serene_pageorder` ON `serene_page`.`page_id` = `serene_pageorder`.`pageorder_link` LEFT JOIN `serene_pagecontent` ON `serene_pageorder`.`pageorder_id` = `serene_pagecontent`.`pagecontent_link` AND `serene_pagecontent`.`pagecontent_language` = 'NL' WHERE `serene_page`.`page_id` = 34
我不知道的事實,我不得不添加子條款如果不是 它將轉爲正常連接。謝謝!!
「where」子句中的條件 - 連接表的這些列是什麼? –
你的意思是編輯? –
有沒有必要回答這個問題。它只是混淆。 –