Mysql 错误:concat的排序规则非法混合
我正在尝试执行数据库Mysql 错误:concat的排序规则非法混合,mysql,concat,Mysql,Concat,我正在尝试执行数据库 SELECT v.id AS id, DATE_FORMAT(v.`date`, '%d %b %y') AS `date`, `getDateDiff`(v.`date`) AS `datediff`, c.`name` AS `clinic`, GROUP_CONCAT(CONCAT(an.anamnese, ', ', an.icd_name, '') SEPARATOR '|') AS anamnese_dia
SELECT v.id AS id,
DATE_FORMAT(v.`date`, '%d %b %y') AS `date`,
`getDateDiff`(v.`date`) AS `datediff`,
c.`name` AS `clinic`,
GROUP_CONCAT(CONCAT(an.anamnese, ', ', an.icd_name, '') SEPARATOR '|') AS anamnese_diagnose,
GROUP_CONCAT(tr.name SEPARATOR '|') AS treatment,
GROUP_CONCAT(CONCAT(pr.drug_name, ' (', format(pr.dosis1,0), ' x ', format(pr.dosis2,0), ')',' Jml: ',substring_index(pr.qty,'.',1),' ',pr.unit) SEPARATOR '|') AS prescribe,
CONCAT_WS('/', ex.sistole, ex.diastole) AS blood_pressure,
ex.temperature AS temperature,
ex.pulse AS pulse,
ex.physic_anamnese AS physic_anamnese,
ex.respiration AS respiration,
ex.weight AS weight,
ex.height AS height
FROM `examinations` ex
JOIN `visits` v ON (v.id = ex.visit_id)
JOIN `ref_clinics` c ON (c.id = v.clinic_id)
JOIN `patients` p ON (p.id = v.patient_id)
LEFT JOIN anamnese_diagnoses an ON (an.visit_id = v.id)
LEFT JOIN treatments tr ON (tr.visit_id = v.id)
LEFT JOIN prescribes pr ON (pr.visit_id = v.id)
WHERE v.id <= '19499'
AND v.patient_id=
(SELECT patient_id
FROM visits
WHERE id='19499')
GROUP BY v.id
ORDER BY v.id DESC LIMIT 1
但系统称发生了数据库错误
错误号码:1271
操作“concat”的排序规则非法混合
有人能帮我吗?我最近也遇到了类似的问题。在你做一件事之前
... CONVERT(myCol TO utf8)...
对于所有要concat的col。必须分析sql请求中提到的所有表及其字段,尤其是concat表达式。某些字段排序属性必须有所不同,例如不同的字符集或区分大小写规则您的意思是我必须将MyISAM更改为utf8??