我有两个表作为示例:帖子和类别。帖子被分配一个类别,但通过 ID 号。当抓取我的帖子时,我想执行 LEFT JOIN 并获取与该帖子关联的类别的名称,然后切换输出(而不是实际的表内容)以直接包含名称来代替值。到目前为止,这就是我所拥有的,并且我知道它在 LEFT JOIN 的某个点上有效,但是替换值是我感到困惑的地方,尽管我相信这是可能的
SELECT * FROM nve_multi_posts
LEFT JOIN nve_categories
SELECT
CASE
WHEN nve_multi_posts.category = nve_categories.id
THEN
nve_multi_posts.category = nve_categories.name
END
ON nve_multi_posts.category = nve_categories.id
我搞砸了什么?
最佳答案
就这么简单:
SELECT p.*, c.*
FROM nve_multi_posts p
LEFT JOIN nve_categories c
ON p.category = c.id
或者您想要对存储在 nve_multi_posts
表中的 chenge 数据进行某种 UPDATE
查询吗?
如果您只需要从查询返回的命名列,您可以为您需要的每个列添加别名,例如:
SELECT p.id as post _id,
p.category as category_id,
c.name as category
FROM nve_multi_posts p
LEFT JOIN nve_categories c
ON p.category = c.id
关于php - 我可以在匹配时将一个表的输出值替换为另一表的值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33369316/