【发布时间】:2015-01-29 07:44:22
【问题描述】:
我正在尝试执行数据库
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”的排序规则的非法混合 谁能帮帮我?
【问题讨论】:
-
您必须分析您的 sql 请求中提到的所有表及其字段,尤其是 CONCAT 表达式。某些字段的 COLLATION 属性必须存在差异(例如不同的字符集或区分大小写的规则)