gpt4 book ai didi

mysql - 接线表 - 除更换外

转载 作者:行者123 更新时间:2023-11-29 12:06:22 25 4
gpt4 key购买 nike

我有如下所示的关系:员工和培训,每个员工都可以参加任何培训,因此这是基本的 M:M 到 1:M M:1 内容。

ERD我有一个组合框来选择员工,我想要两个列表框来列出已完成的培训和可用的培训

类似这样的:enter image description here

然后有两个按钮,将所选内容从一个列表框移动到另一个列表框,并相应地更改记录。

我已进行查询以列出员工参加的所有培训:

SELECT Training.Name, Training.Trainer, Training.Cost, Training.Type, Training.[Length(Day)]
FROM Training INNER JOIN Participation ON Training.[Training ID] = Participation.Training
WHERE (((Participation.Employee)=[Forms]![Add Training 2]![cboEmp]))
ORDER BY Training.Name;

我在选择所有训练并过滤掉上面 SQL 查询中已选择的训练时遇到问题,简单的 EXCEPT 可以工作,但 ACCESS 不支持它。

这就是我想要的:

SELECT Training.Name, Training.Trainer, Training.Cost, Training.Type, Training.[Length(Day)]
FROM Training
EXCEPT
SELECT Training.Name, Training.Trainer, Training.Cost, Training.Type, Training.[Length(Day)]=
FROM Training INNER JOIN Participation ON Training.[Training ID] = Participation.Training
WHERE (((Participation.Employee)=[Forms]![Add Training 2]![cboEmp]))
ORDER BY Training.Name;

最佳答案

您可以只使用不存在不在:

SELECT Training.Name, Training.Trainer, Training.Cost, Training.Type, Training.[Length(Day)]
FROM Training
WHERE Training.TrainingId NOT IN (SELECT Participation.Training
FROM Participation
WHERE Participation.Employee = [Forms]![Add Training 2]![cboEmp]
)
ORDER BY Training.Name;

关于mysql - 接线表 - 除更换外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31408409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com