【发布时间】:2017-10-07 16:51:09
【问题描述】:
我正在尝试学习 SQL,但遇到了以下问题。我可以使用命令式编程轻松解决它,但想知道是否可以仅使用查询来解决此问题:
输入
Table 1 (users)
ID | Firstname
--------------
1 | Felix
2 | Michael
3 | Tobias
Table 2 (hobbies)
ID | Hobby | User
------------------------
1 | cooking | 1
2 | cat | 1
3 | piano | 2
想要的输出
{
"users": [{
"firstname": "Felix",
"hobbies": [{
"id": 1,
"name": "cooking"
}, {
"id": 2,
"name": "cat"
}]
},
{
"firstname": "Michael",
"hobbies": [{
"id": 3,
"name": "piano"
}]
},
{
"firstname": "Tobias",
"hobbies": []
}
]
}
当然不需要直接是JSON。到目前为止,我已经通过连接为每个爱好 x 用户创建了一行(Felix 为两行)
Felix | cooking
Felix | cat
Michael | piano
或者某些信息丢失了(Felix 的猫丢失了)
Felix | cooking
Michael | piano
【问题讨论】:
-
如果您有 SQL Server 2016,请在此处查看 MS Docs docs.microsoft.com/en-us/sql/relational-databases/json/…
-
只是一个在 Ubuntu 上运行的基本 MySQL 服务器
-
使用 Postgres 很容易:rextester.com/SQA15827 不了解 MySQL
标签: mysql sql arrays multidimensional-array