php - 我可以在匹配时将一个表的输出值替换为另一表的值吗?

标签 php mysql left-join

我有两个表作为示例:帖子和类别。帖子被分配一个类别,但通过 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/

相关文章:

php - 如何使用变体 ID 获取可变产品的价格?

MySQL 查询优化 LEFT JOIN 和 DISTINCT

php - 在单个查询中从 2 个表中进行选择

php - 如果没有从数据库中获取结果,我如何让这段代码显示一条文本消息?

php - BLOB存储-文件名而不是文件内容

Python MySQL 语法错误 - 重复 key 更新

mysql - 条件 mysql 查询的最佳实践

Grails 连接表

mysql - 如何编写此查询以正确过滤结果?

php - AdWords API 获取费用