根据另一个 table 中的条件对 table 中的行进行计数
Count rows in a table according to criteria in another table
我有两个 table,"Booking" 和 "Sports facility"。用户可以在给定的时间内预订给定的体育设施(每个 facility/hour 都有一个唯一的 ID,例如 "Swimming Pool" 在“9:00”的 ID 与在“10:00”的 ID 不同,还有不同的一天不同的)。
预订有以下列...
[ ID (PK), ID_FACILITY, ID_USER, 日期, 小时, 付费, PAYMENT_METHOD ]
设施有以下列...
[ ID (PK), NAME, STATE, PRICEPERHOUR, DATE, HOUR]
我遇到的问题是我不知道如何比较这两个 table 之间的值。我想计算 "Booking" table 中的条目,但检查 ID_FACILITY 值是否等于给定值,例如 "Swimming Pool",并检查例如,小时是“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'
我有两个 table,"Booking" 和 "Sports facility"。用户可以在给定的时间内预订给定的体育设施(每个 facility/hour 都有一个唯一的 ID,例如 "Swimming Pool" 在“9:00”的 ID 与在“10:00”的 ID 不同,还有不同的一天不同的)。
预订有以下列... [ ID (PK), ID_FACILITY, ID_USER, 日期, 小时, 付费, PAYMENT_METHOD ]
设施有以下列... [ ID (PK), NAME, STATE, PRICEPERHOUR, DATE, HOUR]
我遇到的问题是我不知道如何比较这两个 table 之间的值。我想计算 "Booking" table 中的条目,但检查 ID_FACILITY 值是否等于给定值,例如 "Swimming Pool",并检查例如,小时是“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'