如何计算一列并将其与另一列进行比较使用 2 个内部联接

How to count one column and compare it to another With 2 Inner joins

我有以下 表:
Cursistcursus
电子邮件地址
Cursuscode



SoortCursus
排序代码
诅咒排序
普赖斯
Maxcursisten


Cursus
诅咒代码
开始日期
Einddatum
排序代码

这是我当前的查询:

SELECT DISTINCT Cursus.Cursuscode, SoortCursus.SoortCode, SoortCursus.Maxcursisten, Cursus.Soortcode, COUNT(Cursistcursus.Cursuscode) as Bezetting, Cursus.Begindatum, Cursus.Einddatum, SoortCursus.Cursussoort, SoortCursus.Prijs 
FROM Cursistcursus,Cursus 
     INNER JOIN SoortCursus
                ON SoortCursus.SoortCode = Cursus.Soortcode 
WHERE (SELECT COUNT(Cursuscode) FROM Cursistcursus) <= SoortCursus.Maxcursisten";

它需要做的是:

我想从 Soortcursus 获取 Cursussoort,其中 Soortcode 是相同的。我想计算每个 Cursuscode 的 Cursistcursus 数量。这样我就可以检查具有相同 Cursuscode 的 CursistCursus 是否比 Maxcursisten 少。

我已经尝试了 4 个多小时了!

示例数据:

诅咒
(1, 2016-11-13, 2016-11-19, 乞讨)
(2, 2016-11-13, 2016-11-19, GEV)
(3, 2016-11-13, 2016-11-19, WAD)

SoortCursus
(BEG, Beginnerscursus, 700.00, 7)
(GEV, Gevorderdencursus, 800.00, 5)
(WAD, Waddentocht, 900.00, 10)

CursistCursus
(1, 测试@test.com)
(1, 测试@test.com)
(1, 测试@test.com)
(1, 测试@test.com)
(1, 测试@test.com)
(1, 测试@test.com)
(1, 测试@test.com)
(2, 测试2@test.com)

SELECT DISTINCT Cursus.Cursuscode, SoortCursus.SoortCode, SoortCursus.Maxcursisten, Cursus.Soortcode, Cursus.Begindatum, Cursus.Einddatum, SoortCursus.Cursussoort, SoortCursus.Prijs FROM Cursus INNER JOIN SoortCursus
                ON SoortCursus.SoortCode = Cursus.Soortcode WHERE (SELECT COUNT(Cursuscode) AS Bezetting FROM Cursistcursus) < SoortCursus.Maxcursisten GROUP BY Cursuscode

这给了我正确的 Cursussoort 但随后每个 Maxcursisten 得到 7!

你需要使用那个名字吗? ._. 看起来像个谜语。

但是,请提供更多信息。每个 table 中的 PK 是多少?

如果你这样做(更多信息和清楚的名字),也许我们可以更好地帮助你。