我想爲特定事件生成一個類似的列表,其中當前註冊的志願者人數低於所需的數量。我使用的MySQL:使用子查詢的SQL
Volunteer Role
==============
Stewarding
Video
我的表(急救不會因爲已經有2人簽署了這支球隊出現)是:
Delegate
========
OrderId Name volunteerOption
1 Tim
1 Jane First Aid
1 Mary First Aid
1 Jo Stearding
VolunteerRole
===========
eventId volunteerName quantityNeeded
1 First Aid 2
1 Stewarding 10
Orders
======
Id eventId
1 1
Event
=====
id name
1 Fun Run
我想我需要使用加入的子查詢,但我不知道如何鏈接它們。
這兩個查詢我的是:
SELECT roleName, quantity as size
FROM VolunteerRole
WHERE eventId = 1
這給了我,給了我的志願者在各隊目前的量的隊名和最大尺寸
SELECT DISTINCT count(volunteerOption) as volunteers, volunteerOption
FROM delegate
JOIN orders on delegate.orderId = orders.id
WHERE orders.eventId = 1 and volunteerOption <> ''
GROUP BY volunteerOption
。我無法弄清楚的是如何只選擇志願者人數少於最大值的球隊。
任何幫助感激收到
是'蒂姆'的意思是'videoer'的'volunteerOption'值? – toonice
每個'Event'都可以有很多'Order'嗎? – toonice
由於GROUP BY不返回任何重複,因此無需執行SELECT DISTINCT。 – jarlh