我有以下 2 个表。
tb_Posts
--------
PostId, PostName
tb_PostCategories
------------------
PostId, PostCategoryName
我想加入这两个表,但是,我想显示 tb_Posts 中的所有列和条目,但只显示 tb_PostCategories 中的 PostCategoryName 列,即使 tb_PostCategories 中的 tb_Posts.PostId 条目存在与否。
所以,我做了这个查询,但是我得到了一个 SQL 错误
SELECT *
FROM
(SELECT a.PostId, a.PostName from tb_Posts a) y
LEFT JOIN tb_PostCategories z USING (y.PostId)
谢谢
最佳答案
*
获取所有列。
你可以这样做:
SELECT y.*, z.PostCategoryName
FROM (SELECT a.PostId, a.PostName FROM tb_Posts a) y
LEFT JOIN tb_PostCategories z
ON y.PostId = z.PostId;
然而,这似乎并不真的需要子查询,所以为了简化一点:
SELECT posts.*, cat.PostCategoryName
FROM tb_Posts posts
LEFT JOIN tb_PostCategories cat
ON cat.PostId = posts.PostId;
关于mysql - 在 MySQL 的 LEFTJOIN 中限制右表上的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9775126/