2015-11-04 91 views
0

我有兩個表格「Booking」和「Sports facility」。用戶可以在給定的小時內預定給定的體育設施(每個設施/小時具有唯一的ID,例如「9:00」的「游泳池」將具有與「10:00」不同的ID,並且還不同日子裏的另一個)。根據另一個表中的條件計算表中的行數

預訂具有以下的列... [ID(PK),ID_FACILITY,ID_USER,日,小時,PAID,PAYMENT_METHOD]

設施具有以下的列... [ID(PK), NAME,STATE,PRICEPERHOUR,DATE,HOUR]

我遇到的問題是我不知道如何比較這兩個表格之間的值。我想計算「預訂」表中的條目,但檢查ID_FACILITY值是否與給定的值相同,例如「游泳池」,並檢查小時是否爲「9:00」。

錯誤的查詢我到目前爲止,這是一個...

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

'SELECT COUNT(*)作爲totalbookingcriteria from public.booking b INNER JOIN public.facility f ON(b.ID_FACILITY = f.ID)其中f.hour ='9:00'和f.name ='游泳池'是你需要的嗎? –

+0

@JorgeCampos這正是我正在尋找的!我搞砸了內部連接...非常感謝! :) – Niconoid

+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' 
相關問題