首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从另一个表中计数数据

如何从另一个表中计数数据
EN

Stack Overflow用户
提问于 2014-10-18 10:16:37
回答 1查看 37关注 0票数 0

我有病人表,病人名称和有病人,保险的insurance_cover表。

我需要显示有保险和没有保险的病人,病人人数和保险总数,如果不使用联接,我该怎么做呢?

代码语言:javascript
复制
SELECT 'WITH INSURANCE' AS '',PATIENTNUM, PATIENTSURNAME
from PATIENT where PATIENTNUM 
IN(select PATIENTNUM from INSURANCE_COVER) 

UNION

SELECT 'WITHOUT INSURANCE' AS '',PATIENTNUM, PATIENTSURNAME
from PATIENT where PATIENTNUM 
NOT IN( select PATIENTNUM from INSURANCE_COVER)

这段代码显示了有保险和没有保险的数据。但我不知道如何计算有保险的病人的保险。

我用的不对吗?你能帮帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-18 11:22:28

代码语言:javascript
复制
SELECT 
    'WITH INSURANCE' AS '',
    PATIENTNUM, 
    PATIENTSURNAME,
    (SELECT COUNT(*) FROM PATIENT tmp WHERE PATIENTNUM IN(select PATIENTNUM from INSURANCE_COVER) AND tmp.PATIENTNUM = p.PATIENTNUM) AS INSURANCES
FROM
    PATIENT p
WHERE 
    PATIENTNUM IN(select PATIENTNUM from INSURANCE_COVER) 

UNION

SELECT 
    'WITHOUT INSURANCE' AS '',
    PATIENTNUM, 
    PATIENTSURNAME,
    0 AS INSURANCES
FROM
    PATIENT 
WHERE
    PATIENTNUM NOT IN( select PATIENTNUM from INSURANCE_COVER)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26438647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档