一尘不染

MySQL:左联接和列在不同表中具有相同名称?

mysql

SELECT * FROM `product` left join category on product.category_id = category.id

该查询工作正常。但是问题是,产品表和类别表都具有名为“ name”和“
id”的字段。因此,当我获取此查询的结果时,它只给我一个名称和一个ID,但同时又需要ID和名称。

我如何做到这一点而不必重命名字段?是否可以使用自定义名称(例如product_name和category_name)返回?


阅读 208

收藏
2020-05-17

共1个答案

一尘不染

您可以将别名添加到字段:

SELECT
    a.id,
    a.name,
    a.category_id,
    b.id AS catId,
    b.name AS catName
FROM
    product AS a
LEFT JOIN
    category AS b ON a.category_id = b.category.id
2020-05-17