根据另一个表检查列条件

时间:2019-09-02 17:30:42

标签: sql sql-server

我正在创建一个培训数据库,并且第一个表(员工表)具有员工id(Int),isTrainer(Bool).. etc。第二张表(培训记录)具有受训者ID(Int),培训者ID(Int).. etc。受训者ID和培训者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。

0 个答案:

没有答案