如何基于关联ID编写SQL查询合并Products与Categories表数据
实现cat_id替换为关联分类名称的查询方案
实现逻辑
通过两表关联匹配产品对应的分类信息,手动指定所有需要返回的产品字段,将分类表的标题字段重命名为要求的category字段,同时不返回原产品表的cat_id字段,完全匹配目标返回结构。
参考SQL
SELECT p.id, p.title, p.image, p.images, p.description, p.price, p.quantity, p.short_desc, c.title AS category FROM products p INNER JOIN categories c ON p.cat_id = c.id
补充说明
- 针对你提供的样例数据:PS4产品的
cat_id=2,会精准匹配分类表中id=2的记录,返回的category值为Electronics,和目标结构完全一致。 - 若需要保留所有产品(包括未配置分类的产品)的查询结果,可将
INNER JOIN替换为LEFT JOIN,这类未匹配分类的产品不会被过滤,对应的category字段会返回NULL。
内容的提问来源于stack exchange,提问作者Michael Parkadze
相关产品推荐
相关产品推荐

