添加JOIN to SQL查询
问题描述:
我有以下MySQL查询:添加JOIN to SQL查询
SELECT
p.page_id,
p.page_title,
'post',
p.mem_id,
p.page_active,
p.page_timestamp,
p.page_meta_description,
p.page_meta_keywords,
p.page_img,
p.page_score,
p.page_summary,
p.page_cd_title,
p.label_id
FROM
(SELECT
page_id
FROM
page
ORDER BY page_id
LIMIT 10000 , 5000) o
JOIN
page p ON p.page_id = o.page_id
ORDER BY p.page_id
我需要添加另一个JOIN来此查询,看起来像这样:
LEFT JOIN `subpage` sp
ON (p.page_id = sp.page_id)
WHERE p.page_type = 'cd'
我试着加入LEFT JOIN
之后JOIN
已经在查询中,但它给我一个SQL语法错误。我试过把它放在不同的地方,但无济于事。
如何将查询与LEFT JOIN
结合?
答
在第一次加入之后,将它粘在上面,就像这样;
SELECT p.page_id, p.page_title, 'post', p.mem_id, p.page_active, p.page_timestamp, p.page_meta_description, p.page_meta_keywords,p.page_img, p.page_score, p.page_summary, p.page_cd_title, p.label_id
FROM (
SELECT page_id
FROM page
ORDER BY page_id
LIMIT 10000, 5000
) o
JOIN page p
ON p.page_id = o.page_id
LEFT JOIN `subpage` sp
ON p.page_id = sp.page_id
AND p.page_type = 'cd'
ORDER BY p.page_id
它有助于将JOIN和ON语句视为一个代码块,您不希望在这些代码之间放置任何东西。
我想你可能希望你的WHERE实际上也是连接的一部分,所以我改变了它。假设你只想在p.page_type ='cd'时从'subpage'返回数据。如果这是一个WHERE语句,那么你只会返回任何数据,其中p.page_type ='cd'