如何在 MariaDB 视图中把子查询的结果转为 Json 并作为查询字段的值?

mysql mariadb 视图 xue8 8天前 12次浏览



需求:
不同数据源的表,需要通过视图汇总总记录,创建视图时,遇到了无法将子查询的结果作为查询字段的值的问题。


当前SQL语句:


SELECT
aa
FROM
table2 UNION
SELECT
(
SELECT
CONCAT(
\'[\',
GROUP_CONCAT(CONCAT(
\'{\',
CONCAT(
\'"id":\',
\'"\',
t2.id,
\'"\',
\',\' \'"operation_type":\',
\'"\',
t2.operator_status,
\'"\',
\',\' \'"remark":\',
\'"\',
t2.remark,
\'"\',
\',\' \'"time":\',
\'"\',
t2.operator_time,
\'"\'
),
\'}\'
)),
\\'
)
FROM
table3 t3
WHERE
t3.id = t1.id
) AS aa
FROM
table1 t1

上面的 SQL 语句中,执行时会报错:1271 - Illegal mix of collations for operation \'UNION\'


想要的结果:把 table3 中符合条件的记录转成 json 并赋值给 table2 的 aa 字段。请问哪处需要改进一下?





回答:
[]

0条回复
撰写答案