sql

有趣的查询-SQL挑战!

2020-08-22 06:10发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 在我的项目要求之一中...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

在我的项目要求之一中,我遇到了一个具有挑战性的SQL场景。.(我仍在努力以获取最佳选择)。

因此,我想与其他人分享这个有趣的查询,以尝试了解我们可以采用的方法。 (抱歉,我无法共享DDL脚本)。 我们有以下表格分别用于"症状主数据"(YSAM_SYMPTOMS),"疾病主数据"(YSAM_SICKNESS),可告诉您疾病的所有症状和"患者测试结果"交易表(YSAM_PAT_TESTS)。

任务是为"获取具有冠状病毒所有症状的所有患者ID和患者姓名的列表"编写一个SQL查询。

解决方案应仅在单个打开的SQL中(无ABAP或AMDP逻辑。表YSAM_SYMPTOMS主表仅供参考,在Query中不需要)。 我对此有一个解决方案,但我认为它不那么优雅。 因此,请社区人士分享有关SQL查询的想法。

注意:我当前的系统是SAP_ABAP-7.50(因此也没有CTE),HANA作为数据库。

此致

Samson

(288.4 kB)
4条回答
me_for_i
2020-08-22 06:49
选择患者ID,患者名称,
   当症状='01'然后是'FEVER'否则为``FEVER''
   当SYMPTOMID ='02'然后是'COLD'ELSE''时以``COLD''结尾
 从
 (从YSAM_PAT_TESTS中选择PATIENTID,PATIENTNAME,症状
       症状所在
       (从YSAM_SICKNESS(其中SICKNESSID ='02'的情况下选择SYMPTOMID))AS Z
 拥有COUNT(*)=(从YSAM_SICKNESS的SICKNESSID ='02'中选择COUNT(*))
 

一周热门 更多>