我正在尝试连接MySQL中的多个表,这是查询:
SELECT p.post_title
, p.post_content
, p.guid
, i.guid
, m.meta_value
FROM twypl_posts p
JOIN twypl_posts i
ON i.ID = p.post_parent
JOIN twypl_postmeta m
ON p.ID = m.post_id
WHERE p.post_status = "publish"
AND p.post_type = "product"
AND i.post_type = "attachment"
AND m.meta_key IN ("_product_attributes", "_sku", "_price")
所以基本上我有2个表,twypl_posts
和twypl_postmeta
,但我想加入3个表,2个twypl_posts
(一个只有"产品" {{ 1}}和一个只有"附件" post_type
)和一个post_type
表格。
它们分别通过外键twypl_postmeta
(ID
),twypl_posts
和post_parent
连接。 post_id
有一个twypl_posts
用于"附件" post_parent
链接到父产品(post_types
与twypl_posts
"产品")。
当我运行上述查询时,它不会返回任何结果(没有查询错误)。
使用具有复杂DRM的框架后,我的SQL变得有点生疏了。任何帮助将不胜感激。
答案 0 :(得分:0)
我认为你错了:INNER JOIN twypl_posts i ON p.post_parent = i.ID
它应该是INNER JOIN twypl_posts i ON p.ID = i.post_parent
由于 i 是附件