where子句中使用的SQL计数
我对sql有点陌生。我有一个问题涉及到在我的sql中使用函数count()作为where子句的限制 tbl_会议where子句中使用的SQL计数,sql,count,where-clause,Sql,Count,Where Clause,我对sql有点陌生。我有一个问题涉及到在我的sql中使用函数count()作为where子句的限制 tbl_会议 ID TIMESTAMP CAPACITY ... tbl_出席率 ID NAME ... (我还有一张桌子在中间,因为多个与会者可以参加多个会议) 我想选择所有已满的会议。看起来应该是这样,但我能猜出来 select * , count(LAM.id) as amount_attending from tbl_meetings M left join tbl_lnk_atten
ID
TIMESTAMP
CAPACITY
...
tbl_出席率
ID
NAME
...
(我还有一张桌子在中间,因为多个与会者可以参加多个会议)
我想选择所有已满的会议。看起来应该是这样,但我能猜出来
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
选择*
,将(LAM.id)计算为出席人数
来自tbl\M会议
左加入tbl_lnk_出席会议林
在M.id=LAM.meeting\u id上
其中M.容量金额
谢谢。试试这个:
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
您已经在select语句中执行了count函数,因此where子句只需要与数字进行比较
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)
使用此方法查找会议的全部出席人数
SELECT *
FROM tbl_meetings M
WHERE M.capacity = (SELECT COUNT(LAM.id)
FROM tbl_lnk_attendance_meeting LAM
WHERE M.id = LAM.meeting_id)
谢谢这就是我需要的。不知道可以在where子句中使用子查询。