1
私は使用しようとしているコードを含めています。私が欲しいのは、各医師のための遭遇IDのカウントを取得することです。私は、少なくとも2回の訪問を受けた患者、または1回の予防的訪問を受けた患者を捕獲したい。私は、このステートメントを使用してこの作業を行う方法を知らない。助けてくれてありがとう。hasステートメントで2つの異なる指標を使用する
SELECT e.doctorID, COUNT(DISTINCT e.encounterID) AS VisitCount
FROM enc e
JOIN users u ON e.patientID = u.uid
Left JOIN diagnosis d ON e.encounterID = d.encounterID
LEFT JOIN items it ON d.itemID = it.itemID
LEFT JOIN itemdetail id ON it.itemID = id.itemID
WHERE e.encType = 1 AND e.status = 'CHK' AND e.deleteFlag = 0 AND
e.date BETWEEN DATE_ADD((LAST_DAY(DATE_ADD(CURDATE(),INTERVAL -2 MONTH))), INTERVAL 1 DAY) AND LAST_DAY(DATE_ADD(CURDATE(),INTERVAL -1 MONTH))
AND FLOOR(DATEDIFF(NOW(),u.ptdob)/365.25) >= 18 AND e.doctorID = e.resourceID
GROUP BY e.doctorID, id.value
HAVING
COUNT(e.patientid)>=2 OR
id.value in ('Z00.00', 'Z00.01')
あなたの質問が患者に関するものである場合、なぜあなたは「e.doctorID」でグループ化していますか? –
あなたのhaving節でこれを試してください: 'またはsum( 'Z00.00'、 'Z00.01'))> 0'の和。 group by節から 'id.value'を削除します。 –