2016-07-19 11 views
1

SQLの新機能です。私は、制限として関数のカウント()を使用して私のSQLのwhere節を含む質問があります。where句でSQLカウントが使用されます

ID 
TIMESTAMP 
CAPACITY 
... 

tbl_attendance

ID 
NAME 
... 

(複数の出席者が複数の会議に行くことができるので、私はまたの間でテーブルを持っている)

私はそのすべての会議を選択したいをtbl_meeting

いっぱいです。それはこのように見えるはずですが、私はそれを理解することができます。

select * 
, count(LAM.id) as amount_attending 
from tbl_meetings M 
left join tbl_lnk_attendance_meeting LAM 
on M.id = LAM.meeting_id 
where M.capacity <> amount_attending 

ありがとうございます。

答えて

1

使用このアプローチを

SELECT * 
FROM tbl_meetings M 
WHERE M.capacity = (SELECT COUNT(LAM.id) 
        FROM tbl_lnk_attendance_meeting LAM 
        WHERE M.id = LAM.meeting_id) 
+1

感謝を満たす完全な出席を見つけます。それは私が必要としたものです。 where節にサブクエリを使用できるかどうかは分かりませんでした。 – user20

0

はこれを試してみてください:

select * , count(LAM.id) as amount_attending 
from tbl_meetings M 
left join tbl_lnk_attendance_meeting LAM 
on M.id = LAM.meeting_id 
group by LAM.id 
0

あなたのwhere句がちょうど数との比較を必要とするので、あなたはすでにあなたのselect文でカウント機能を運んでいます。

select * 
, count(LAM.id) as amount_attending 
from tbl_meetings M 
left join tbl_lnk_attendance_meeting LAM 
on M.id = LAM.meeting_id 
where amount_attending = (whatever number constitutes a full meeting)