我有两个表“ Sample”和“ Results”,我想提取Sample表的ID并将其映射到Results表中。
为了更好的理解,我将举一个例子,
sample_id (Auto increment) Sample_No Sample_Name Experiment_id
1 NL-1 ABC 300
2 NL-2 XYZ 300
3 NL-3 JKL 300
4 NL-3 WER 301
现在的样品编号:NL-1将具有多个结果名称,其他样品名称也将具有
result_id (Auto increment) Sample_No Result_Name Experiment_id
1 NL-1 abc 300
2 NL-2 abc 300
3 NL-3 abc 300
4 NL-1 xyz 300
5 NL-2 xyz 300
6 NL-3 xyz 300
7 NL-1 jfk 300
8 NL-2 jfk 300
9 NL-1 abc 301
10 NL-1 xyz 301
所以我想做的是通过将样本ID与Experiment_id和Result_Name进行比较来提取样本ID。像这样的东西。
result_id (Auto increment) **Sample_id** Sample_No Result_Name Experiment_id
1 1 NL-1 abc 300
2 1 NL-2 abc 300
3 1 NL-3 abc 300
4 2 NL-1 xyz 300
5 2 NL-2 xyz 300
6 2 NL-3 xyz 300
7 3 NL-1 jfk 300
8 3 NL-2 jfk 300
9 4 NL-1 abc 301
10 4 NL-1 xyz 301
我知道如何创建触发器来提取最近的Experiment_id,但是我无法执行此特定任务。请帮帮我。
create trigger SAMPLE_before_insert before insert on SAMPLE FOR EACH ROW
set new.Experiment_id = (select max(Experiment_id) from EXPERIMENT);
谢谢。