Mysql Concat отображает байтовый массив - PullRequest
0 голосов
/ 03 июня 2018

Я новичок в MySQL.У меня есть код, но он отображает массив байтов, почему?Извините за мой английский: (* ​​1001 *

SELECT p.city_id,p.name city, CONCAT("[", 
GROUP_CONCAT(CONCAT('{id:"', a.id, '", address:"', a.address, '"}')), 
"]") As sahalar 
FROM cities AS p LEFT JOIN carpet_fields As a ON(p.city_id = a.city_id) 
GROUP BY p.city_id, p.name ORDER BY p.city_id

это должны быть данные JSON, но. Результат

Неверный результат

 city_id  name   sahalar
1        ADANA  0x5B7B69643A223236222C20616464726573733A2248757A75

Правильный результат

city_id name sahalar 
1       ADANA [{id:"1A", address:"Huzurevleri Mah.77232 Sk. ADANA / ÇUKUROVA"},{id:"1B", address:"KARSLILAR MAH. 82008. SOK. / MAHFESIGMAZ"}]

hata

1 Ответ

0 голосов
/ 03 июня 2018

Я нашел решение

SET SESSION group_concat_max_len = 1000000; 
SELECT p.city_id,p.name city, 
CONCAT("[", 
GROUP_CONCAT( CONCAT('{id:"', CAST(a.id as char(10)), '", address:"', a.address, '"}') ), 
"]") As sahalar 
FROM cities AS p 
LEFT JOIN carpet_fields As a ON(p.city_id = a.city_id)  
GROUP BY p.city_id, p.name ORDER BY p.city_id
...