首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql查询如何返回空值分组?

Mysql查询如何返回空值分组?
EN

Stack Overflow用户
提问于 2015-04-12 23:48:59
回答 1查看 51关注 0票数 0

我有一个mysql查询,它返回按类别分组的空置床位/房间。但如果该类别中没有房间,则不会显示该组。我想要的是,即使在没有空房间的情况下,该组也会显示为空/空值。

代码语言:javascript
复制
select `rct`.`room_category` AS `room_category`,
    group_concat(`rn`.`room_name` separator ',') AS `vacant_beds` 
    from ((`room_name` `rn` join `room_category` 
    `rct` on((`rn`.`room_category` = `rct`.`id`))) 
    left join `patient_detail` `pd` on(((`rn`.`id` = `pd`.`bed_type`) 
    and (isnull(`pd`.`discharge_date`) or (now() between `pd`.`admission_date` and   `pd`.`discharge_date`))))) 
    where isnull(`pd`.`id`) group by `rn`.`room_category`

查询的结果如下: room_category vacant_beds

代码语言:javascript
复制
MALE GENERAL WARD    MG-5
FEMALE GENERAL WARD  FG-2,FG-3,FG-4
MOTHER CHILD WARD    MC-1,MC-3,MC-4
NICU                 NICU-8,NICU-4,NICU-5,NICU-6,NICU-1,NICU-7,NICU-2
CLASSIC              CL-9,CL-4,CL-5,CL-7,CL-8
DELUXE               DLX-6,DLX-3,DLX-4,DLX-5

在上面的结果中,双胞胎丢失了,因为它没有空床。我如何才能做到这一点?

EN

回答 1

Stack Overflow用户

发布于 2015-04-13 00:03:08

你需要查询:一个是你已经有的空置床位,另一个是没有空置床位的群体,这里也包括"no vacant" AS vacant_ beds

创建第二个查询的一种简便方法是匹配第一个查询,查找缺少的类别:SELECT rct.Room_category, " " as vacant_room FROM rct LEFT JOIN old_query on ... WHERE old_query.room_category IS NULL

然后只需要对这两个查询执行UNION操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29591335

复制
相关文章

相似问题

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