【发布时间】:2020-10-06 03:01:52
【问题描述】:
如何将我的mysql表结果转换为数据库级别的json对象
例如,
SELECT json_array(
group_concat(json_object( name, email))
FROM ....
它将产生结果为
[
{
"name": "something",
"email": "someone@somewhere.net"
},
{
"name": "someone",
"email": "something@someplace.com"
}
]
但我需要的是我需要给出自己的查询,其中可能包含函数、子查询等。
就像在 postgres select row_to_json(select name,email,getcode(branch) from .....) 中一样,我将得到整个结果作为 json 对象
在mysql中是否有可能这样做?
select jsonArray(select name,email,getcode(branch) from .....)
【问题讨论】:
-
为什么要标记 3 个不同的 MySQL 版本和 MariaDB?请仅标记您正在使用的一个数据库/版本。
-
@GMB 我需要支持所有这些版本,我知道 mysql 低版本不支持 Json
-
@GMB 你对此有什么想法吗,我们如何在 My Sql 中实现这一点
-
显示需要转换为 JSON 的复杂查询示例。这太笼统了,没有具体细节。
-
@underscore_d 首先感谢您考虑我的问题。不需要复杂的查询和所有。仅用于简单查询本身,例如我有一个名为 department 的表,它具有 depid、deptname、salr 等。在下面的示例中,我需要提及该 json_object中的列的名称> 函数不提及列我可以给出动态查询,例如::从部门中选择部门名称、部门名称,例如 2 :::选择部门名称,光标(选择薪水,佣金_pct FROM 员工 e WHERE e.department_id = d.department_id) FROM部门d;