sql查询。。。。。。。。。。。。。

图片说明![图片说明
查询出未住满的room(BED_STATUS 为 N EMPLOYEE_LIVE_ID 不为空)

感觉你的提问有些问题,如何表示没住人?

BED_STATUS 表示是否住人 住人是Y,没住人是N

那么sql是这样的

    SELECT  b.*
    FROM    ( SELECT    do_room_id
              FROM      room_bed
              WHERE     BED_STATUS = 'N'
              GROUP BY  do_room_id
            ) a
            LEFT OUTER JOIN do_room b ON a.do_room_id = b.do_room_id

BED_STATUS 表示房屋可用状态 可用是Y,不可用是N
EMPLOYEE_LIVE_ID 表示入住员工id, 没住人是null
那么sql是这样的

    SELECT  b.*
    FROM    ( SELECT    do_room_id
              FROM      room_bed
              WHERE     BED_STATUS = 'Y'
                        AND EMPLOYEE_LIVE_ID IS NULL
              GROUP BY  do_room_id
            ) a
            LEFT OUTER JOIN do_room b ON a.do_room_id = b.do_room_id

select * from room where BED_STATUS = 'N' and EMPLOYEE_LIVE_ID is not null

select * from do_roow a, room_bed b where where a.do_room_id=b.do_room_id and b.BED_STATUS = 'N' and EMPLOYEE_LIVE_ID is not null

select * from room where BED_STATUS = 'N' and EMPLOYEE_LIVE_ID is not null

查询出来的这个结果应该是没有数据的

SELECT DO_ROOM_ID,
CASE
WHEN MIN(BED_STATUS) = 'N' THEN '没注满'
ELSE '注满'
END FLAG

FROM ROOM_BED
GROUP BY DO_ROOM_ID