一个选择SQL,其中包含一个包含降序排序和内部连接的子查询,以链接到saem id (patid(。完成此排序子查询后,我将使其成为另一个不起作用的SQL使用的视图查询。将 WINSQL 与缓存数据库一起使用。
这个想法是按降序对data_of_assessment排序
SELECT c1.patid, c1.date_of_assessment, c1.form_status_value
FROM cw_cans_assessment c1
INNER JOIN (
SELECT * from cw_cans_assessment c2
ORDER BY c2.data_of_assessement DESC)
ON c1.patid = c2.patid
GROUP BY c1.patid
错误信息:
[%msg: <( 预期,标识符(顺序(找到^选择 c1 . 帕蒂德 , C1 . date_
示例数据:
patid date_of_assessment form_status_value
64050 2009-06-25 Unknown
53297 2011-12-07 Unknown
42308 2016-06-16 Initial
9540757 2016-09-22 Initial
45144 2017-06-23 Reassessment
50529 2017-09-01 Initial
38557 2017-10-17 Initial
52754 2017-10-20 Initial
50123 2017-11-07 Initial
15572 2017-11-14 Initial
大概,你想要的是每个patid
的最新评估:
select ca.*
from cw_cans_assessment ca
where ca.date_of_assessment = (select max(ca2.date_of_assessment)
from cw_cans_assessment ca2
where ca2.patid = ca.patid
);
SELECT c1.patid, c1.date_of_assessment, c1.form_status_value
FROM cw_cans_assessment c1
GROUP BY c1.patid
ORDER BY c1.date_of_assessment
我高估了问题解决方案,永远不应该在同一张桌子上使用内部连接,结果证明这是更简单的解决方案。