0
我想有结果是:获取元素的列表联接查询
“ID”:1, “技巧”:[{ “skill_name”: “产品设计 ” },{ “skill_name”: “图形 设计”}]
结果我是:
{ “ID”:1, “技巧”: “产品设计”},{ “id”:1,“技能”:“平面设计”}
我的查询是:
select `u`.`id`, `s`.`skill_name` as `skills`
from `users` as `u`
left join `user_skills` as `s` on `u`.`id` = `s`.`user_id`
where `u`.`id` = 1
我试着GROUP BY user.id或SELECT DISTINCT,但没有运气。
如何获得每个ID的多个结果的数组?
您必须使用应用程序代码将其格式化为JSON数组对象。但是,如果适合您使用的代码,您可以使用'GROUP_CONCAT(skill_name)'返回一个由'id'分隔的'skill'字符串以及'GROUP BY id'。SQL本身只会返回平坦的2D结果集。 –
如果您需要帮助将SQL结果后处理成所需的JSON,请发布处理此查询的代码。 –
这是查询的简化版本。 使用查询从7个表中使用连接获取大量信息。 (我使用knex作为查询生成器) 我试图找到解决方法是让“基本”查询,然后遍历结果“注入”技能列表 – Sequoya