跳过在表中提取不需要的数据


skip fetching unneeded datas in table

我会让它变得简单。。

我有两张桌子

=room_service=
-id
-room_id
-service_name

=room=
-id
-room_type

*房间服务可以具有依赖于房间表的相同room_id,并且应该具有不同的service_name

例如:

room_id(1)
service_name(extra person)
room_id(1)
service_name(extra person with bed)

现在,我想获取所有没有等于"加床人员"的servicename的房间id。我试过这个

select id from room_service where service_name != "extra person with bed"

尽管它跳过了服务名称为"extra person with bed"的id,但它仍然获取了与其他服务名称相同的id,因此如果一个id在表中出现两次,则查询是无用的

希望你们能帮助

有几种方法可以解决此问题。

使用子查询:

SELECT id 
FROM   room_service
WHERE  id NOT IN
(
      SELECT id 
      FROM   room_service 
      WHERE  service_name != "extra person with bed"
)

如果我有表格结构,我可以向你展示一些其他方法。