SELECT
    CONCAT(
        '{',
          '"id_chave_curso":', id_chave_curso, ',',
          '"id_chave_instituicao":', id_chave_instituicao, ',',
          '"sigla":"', REPLACE(sigla, '"', '\"'), '",',
          '"nome_cidade":"', REPLACE(cc_cidade.nome_cidade, '"', '\"'), '",',
          '"sigla_estado":"', REPLACE(sigla_estado, '"', '\"'), '",',
          '"latitude":', latitude, ',',
          '"longitude":', longitude, ',',
	  CASE WHEN id_url is not NULL THEN CONCAT('"url": "',(SELECT REPLACE(nome_url, '"','\"') FROM URLs WHERE id_chave_url = id_url ), '",') ELSE '' END,
          '"instituicao":{',
              '"id":', id_chave_instituicao, ',',
              '"nome":"', REPLACE(nome_instituicao, '"', '\"'), '",',
              '"logo":"', REPLACE(logo, '"', '\"'), '"',
          '},',
          '"campos":[',
              GROUP_CONCAT(
                  DISTINCT CONCAT(
                      '{',
                        '"nome_campo":"', REPLACE(tc.nome_tipo_classificacao, '"', '\"'), '",',
                        '"caption_mostrado":"', REPLACE(COALESCE(tc.caption_substituto, 'Sem título'), '"', '\"'), '",',
                        '"valor":"',REPLACE(REPLACE(
            IF(LEFT(COALESCE(t.titulo, "Não Declarado"), 1) = CHAR(8),
            SUBSTRING(COALESCE(t.titulo, "Não Declarado"), 2),
            COALESCE(t.titulo, "Não Declarado")
        ),
        CONCAT(' ', CHAR(8)),
        ''
        ),CHAR(8),""), '"' 

# recolocar , depois das aspas                      '"isolamento_valor":"', REPLACE(COALESCE(tc.isolamento_valor, ''), '"', '\"'), '",',
#                        '"limita_largura":"', REPLACE(COALESCE(tc.limita_largura, ''), '"', '\"'), '",',
#                        '"mostra_caption_tamanho":"', REPLACE(COALESCE(tc.mostra_caption_tamanho, ''), '"', '\"'), '",',
#                        '"mostra_valor_tamanho":"', REPLACE(COALESCE(tc.mostra_valor_tamanho, ''), '"', '\"'), '",',
#                        '"bold_valor":"', REPLACE(COALESCE(tc.bold_valor, ''), '"', '\"'), '",',
#                        '"color_valor":"', REPLACE(COALESCE(tc.color_valor, ''), '"', '\"'), '",',
#                        '"border_valor":"', REPLACE(COALESCE(tc.border_valor, ''), '"', '\"'), '",',
#                        '"border_radius_valor":"', REPLACE(COALESCE(tc.border_radius_valor, ''), '"', '\"'), '",',
#                        '"background_valor":"', REPLACE(COALESCE(tc.background_valor, ''), '"', '\"'), '",',
#                        '"padding_left_valor":"', REPLACE(COALESCE(tc.padding_left_valor, ''), '"', '\"'), '",',
#                        '"padding_right_valor":"', REPLACE(COALESCE(tc.padding_right_valor, ''), '"', '\"'), '",',
#                        '"padding_top_valor":"', REPLACE(COALESCE(tc.padding_top_valor, ''), '"', '\"'), '",',
#                        '"padding_bottom_valor":"', REPLACE(COALESCE(tc.padding_bottom_valor, ''), '"', '\"'), '",',
#                        '"margin_left_valor":"', REPLACE(COALESCE(tc.margin_left_valor, ''), '"', '\"'), '",',
#                        '"margin_right_valor":"', REPLACE(COALESCE(tc.margin_right_valor, ''), '"', '\"'), '",',
#                        '"margin_top_valor":"', REPLACE(COALESCE(tc.margin_top_valor, ''), '"', '\"'), '",',
#                        '"margin_bottom_valor":"', REPLACE(COALESCE(tc.margin_bottom_valor, ''), '"', '\"'), '",',
#                        '"junta_caption_valor":"', REPLACE(COALESCE(tc.junta_caption_valor, ''), '"', '\"'), '",',
#                        '"forca_quebra_linha":"', REPLACE(COALESCE(tc.forca_quebra_linha, ''), '"', '\"'), '"',
                      '}'
                  )
                  ORDER BY tc.ordem, tc.id_chave_tipo_classificacao SEPARATOR ','
              ),
          ']',
        '}'
    ) AS curso_json
FROM cursos
JOIN instituicoes ON id_instituicao = id_chave_instituicao
JOIN campos_cursos cc ON cc.id_curso = id_chave_curso
LEFT JOIN frases_opt t ON t.id_titulo = cc.id_titulo
LEFT JOIN tipos_classificacoes tc ON cc.id_tipo_classificacao = tc.id_chave_tipo_classificacao
JOIN cidades cc_cidade ON id_chave_cidade = cursos.id_cidade
JOIN estados cc_estado ON cc_estado.codigo_ibge = cc_cidade.id_estado
GROUP BY
    id_chave_curso,
    id_chave_instituicao,
    nome_instituicao,
    logo,
    sigla,
    nome_cidade,
    sigla_estado;



