我有三张桌子。 我需要将近乎最多的人员插入到人员培训表中。人员培训表具有所需的最大人数。
因此,例如我有30人,所需金额为27,应将27人插入人员培训表
同样,如果所需的人数已经分配了15和15,我不需要插入任何东西。
这可以完成吗
Person
Pk personId
firstName
lastName
Person_Training
PK FK personId
PK FK trainingId
signed
Training
T trainingId
Location
personsNeeded
date
我试过这个但无济于事
INSERT INTO Person_Training(personId,trainingId)
SELECT personId , trainingId
FROM Person , Training
WHERE Training.date = '9-10-2013'
Having COUNT(Person.personId) < Training.personsNeeded
答案 0 :(得分:0)
看起来你所缺少的就是加入所有表格。
from Person
inner join person_Training on person_Training.personID = Person.PersonID
inner join Training on Training.trainingID = Person_Training.trainingID
不要忘记所有选定字段的group by子句。 group by在Having子句
之前Group by Person.personID, Training.trainingID