根据另一个表中的条件计算表中的行

时间:2015-11-04 19:18:02

标签: mysql sql hsqldb

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

预订有以下栏目...... [ID(PK),ID_FACILITY,ID_USER,DATE,HOUR,PAID,PAYMENT_METHOD]

工厂有以下专栏...... [ID(PK),NAME,STATE,PRICEPERHOUR,DATE,HOUR]

我遇到的问题是我不知道如何比较这两个表之间的值。我想计算“预订”表中的条目,但检查ID_FACILITY值是否等于给定的值,例如“游泳池”,并检查小时是否为“9:00”。 / p>

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

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

1 个答案:

答案 0 :(得分:1)

您需要的只是表格的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'