MySQL / group_concat()函数
场景:如何将红框部分合并为一行显示?
SELECT
IF(`repeat_indicator`=0,'临时医嘱','长期医嘱') '医嘱类型', `plan_time` '计划时间', `print_person` '执行护士', '' AS '核对护士',
(CASE `execute_type` WHEN 0 THEN '无效' WHEN 1 THEN '扫描执行' WHEN 2 THEN '手动执行' END) '执行方式', `reason` '执行原因',
GROUP_CONCAT(`order_text`) '医嘱内容', GROUP_CONCAT(CONCAT(0+CAST(`dosage` AS CHAR), `dosage_units`)) '剂量', `item_specification` '规格'
FROM `pat_inhos_order_group`
GROUP BY `plan_time`;
GROUP BY
plan_time
GROUP_CONCAT(order_text
) ‘医嘱内容’
GROUP_CONCAT(CONCAT(dosage
,dosage_units
)) ‘剂量’
dosage_units:单位(g、ml) ,
dosage:剂量值`
实现效果
参考:
http://php-note.com/article/793.html.
https://www.jb51.net/article/100886.htm.
官方链接: https://dev.mysql.com/doc/refman/8.0/en/aggregate-functions.html#function_group-concat.