如何计算一列并将其与另一列进行比较使用 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 是多少?
如果你这样做(更多信息和清楚的名字),也许我们可以更好地帮助你。
我有以下
表:
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 是多少?
如果你这样做(更多信息和清楚的名字),也许我们可以更好地帮助你。