【发布时间】:2020-09-16 21:43:35
【问题描述】:
我有 3 个具有 n:m 关系的表
语言:
- ID(主键)
- 姓名
- 蛞蝓
产品:
- 身份证
- 姓名
- 蛞蝓 -产品组
关系表:
Lang_Prod:
- lang_prod_id(由 lang_id 和 prod_id 组成)
- lang_id
- prod_id
现在我想获取所有具有相应语言名称的产品:
- 产品
- 产品组
- 语言名称(多个值)
我试过了:
SELECT product.*, languages_products.language_id,
GROUP_CONCAT(languages_products.language_id) as languages
FROM product
INNER JOIN languages_products ON id = languages_products.product_id
GROUP BY product.id;
结果是:
- 产品名称
- product_slug
- product_group
- 带有语言 ID 的字符串
我想要一个带有语言名称的字符串,而不是带有语言 ID 的字符串
我该如何存档?
【问题讨论】:
-
该 GROUP BY 无效,应引发错误。您通常 GROUP BY 与您 SELECT 相同的列,但那些作为设置函数的参数的列除外。
-
它工作正常,但不是我需要的
-
“工作正常,但不是我需要的”是矛盾的。
-
@jarlh 不,不是。它没有引发任何错误(工作正常),但仍然不是我需要的(不是我需要的)