[英]Getting count of rows from one table where at least one related item from another table matches criteria
[英]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.