Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL JSON_OBJECT() с някои полета, които вече съдържат JSON String

Най-доброто решение, което намерих, е да използвам JSON_MERGE() в комбинация с JSON_OBJECT() и CONCAT()

SELECT 
    T1.id, 
    CONCAT(
        '{"elements": [',
        GROUP_CONCAT(
            JSON_MERGE(
                JSON_OBJECT(
                    'type',  T2.`type`,
                    'data',  T2.`data`
                ),
                CONCAT('{"info": ',  T2.`info`, '}')
            )
        ),
        ']}'
    ) AS `elements`,
FROM `table` T1
INNER JOIN `table2` T2
    ON T1.`id` = T2.`fk_t1_id`
GROUP BY T1.`id`



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Грешка при конфигурирането на hibernate 5.0.1 и MySQL

  2. как да разберете броя на дните в месеца в mysql

  3. Qt QMYSQL драйверът не е зареден в Windows

  4. Показване на датата на създаване на ред в mysql

  5. Не мога да използвам псевдоним в sql delete