繁体   English   中英

根据另一个表中的条件对一个表中的行进行计数

[英]Count rows in a table according to criteria in another table

我有两个表,“预订”和“体育设施”。 用户可以在给定的时间内预订给定的体育设施(每个设施/小时均具有唯一的ID,例如“ 9:00”的“游泳池”将具有与“ 10:00”不同的ID,并且在不同的日子)。

预订包含以下几列... [ID(PK),ID_FACILITY,ID_USER,DATE,HOUR,PAID,PAYMENT_METHOD]

设施包括以下几列... [ID(PK),名称,州,PRICEPERHOUR,DATE,HOUR]

我的问题是我不知道如何比较这两个表之间的值。 我想对“ Booking”表中的条目进行计数,但要检查ID_FACILITY值是否等于给定值,例如“游泳池”,还要检查小时数是否是“ 9:00”。

我到目前为止得到的错误查询是这个...

select count(*) as totalbookingcriteria from public.booking, public.facility where hour = '9:00' and name = 'Swimming Pool'

您需要的只是表的INNER JOIN ,因此

select count(*) as totalbookingcriteria 
  from public.booking b 
     INNER JOIN public.facility f 
           ON ( b.ID_FACILITY = f.ID ) 
 where f.hour = '9:00' 
   and f.name = 'Swimming Pool' 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM