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

Posted

技术标签:

【中文标题】根据另一个表中的条件计算表中的行数【英文标题】:Count rows in a table according to criteria in another table 【发布时间】:2015-11-04 19:18:02 【问题描述】:

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

Booking 具有以下列... [ ID (PK), ID_FACILITY, ID_USER, DATE, HOUR, PAID, PAYMENT_METHOD]

设施具有以下列... [ ID (PK)、姓名、州、PRICEPERHOUR、DATE、HOUR]

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

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

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

【问题讨论】:

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'是你需要的吗? @JorgeCampos 这正是我想要的!我搞砸了内部连接......非常感谢! :) 我已添加为答案。如果它解决了您的问题,请考虑接受它:) 【参考方案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' 

【讨论】:

以上是关于根据另一个表中的条件计算表中的行数的主要内容,如果未能解决你的问题,请参考以下文章

如何加快计算 PostgreSQL 表中的行数?

SQL 计算表中的行数

根据日期和在 Snowflake 中的另一个表中为该日期列出的最大行数限制插入到表中的行

根据 3 到 4 个条件对数据库表中的行进行计数和分组查询

jQuery:计算表中的行数

php 计算表中的行数