需求:
不同数据源的表,需要通过视图汇总总记录,创建视图时,遇到了无法将子查询的结果作为查询字段的值的问题。
当前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 字段。请问哪处需要改进一下?