sql - 根据另一个表检查列条件
问题描述
我正在创建一个培训数据库,第一个表(员工表)有员工 id(Int)、isTrainer(Bool)..等。第二个表(培训记录)有受训者id(Int),受训者id(Int)..等。Trainee id 和 trainer id 参考员工 id。但培训师 id 只能是 isTrainer(Bool = true) 的员工。我该如何做到这一点?
CREATE SCHEMA training;
go
CREATE TABLE training.employee(
employee_id INT IDENTITY(1,1) PRIMARY KEY,
employee_isTrainer BOOLEAN;
);
CREATE TABLE training.record(
training_id INT IDENTITY(1,1) PRIMARY KEY,
training_trainee INT NOT NULL;
training_trainer INT NOT NULL;
FOREIGN KEY (training_trainee) REFERENCES training.employee(employee_id);
FOREIGN KEY (training_trainer) REFERENCES training.employee(employee_id);
)
我正在创建一个带有下拉列表的前端,供用户查询或添加新记录。预期的结果应该是培训师下拉菜单应该只显示 isTrainer 的员工。
解决方案
推荐阅读
- indexing - 如何执行 IndexPage Hook Contao
- javascript - 如何在 JavaScript 或 jQuery 中下载文件
- asp.net-mvc - 我可以直接在剃刀视图中从另一个表进行分组聚合计算吗?
- php - 如何使用 PHP 在 JSON 中循环多个数组对象
- javascript - 如何在 Angular 4 中进行数据属性绑定?
- python-2.7 - Python:在大型数据集上处理 groupby
- oauth-2.0 - 用没有客户端密码的授权码替换 OAuth2 隐式授权
- python - python中的非线性/线性编程
- python-3.x - 在 gremlin 中查找连接图 DB 边的最小和最大长度
- php - array_flip,但不会丢失重复的键