MySQL查询从查询​​结果中获取字符串值

时间:2019-05-22 11:24:03

标签: mysql

我有一个查询,如下所示:

SELECT *
    FROM tb_circulares LEFT JOIN tb_colegios ON tb_circulares.colegio_circular = tb_colegios.id_colegio

    LEFT JOIN tb_circulares_clase ON tb_circulares.codigo_circular = tb_circulares_clase.circular
    LEFT JOIN tb_clases ON tb_circulares_clase.clase = tb_clases.id_clase
    WHERE colegio_circular = 17

查询输出显示三行。

行列之一是字段tb_circular_clase.nombre_clase的值

我想得到一个包含tb_circular_clase.nombre_clase的三个结果值的字符串。

例如:

row1-> nombre_clase = "1º primaria"

row2-> nombre_clase = "3ª secundaria"

row3-> nombre_clase = "4º primaria"

是否可以获取最终值的查询字段?

`resultado = "1º primaria - 3ª secundaria - 4º primaria"

谢谢

1 个答案:

答案 0 :(得分:2)

听起来像group_concat()之后的声音,这是一个聚合函数,将一个组的所有值连接在一起。

SELECT group_concat(nombre SEPARATOR ' - ') resultado
       FROM tb_circulares
            LEFT JOIN tb_colegios
                      ON tb_circulares.colegio_circular = tb_colegios.id_colegio
            LEFT JOIN tb_circulares_clase
                      ON tb_circulares.codigo_circular = tb_circulares_clase.circular
            LEFT JOIN tb_clases
                      ON tb_circulares_clase.clase = tb_clases.id_clase
       WHERE colegio_circular = 17;