我有一个名为测试表的表,其中总共有 8 列(Roll_no
、Student_name
、Company1
、Pass_fail1
、Company2
、Pass_fail2
、Company3
、Pass_fail3
)。
我必须将测试表中的数据插入到另一个表(例如面试表)。
Interview 表的列为 (Roll_no
、Student_name
、Company1
、Company2
、Company3
);
插入的条件是:
如果学生通过了Company1的测试(即pass_fail1=1
),那么他就有资格参加Company1的面试,其余两家公司的条件相同。
因此,仅当 pass_fail1=1 时,Company1 才会插入面试表中。
如果pass_fail=0
则不要输入公司名称。
最佳答案
试试这个:
INSERT INTO interviews (Rollno,Student_name,Company1,Company2,Company3)
SELECT Rollno, Student_name,
(CASE WHEN Pass_fail1 = 1 THEN Company1 ELSE '' END) Company1,
(CASE WHEN Pass_fail2 = 1 THEN Company2 ELSE '' END) Company2,
(CASE WHEN Pass_fail3 = 1 THEN Company3 ELSE '' END) Company3
FROM test
关于Mysql查询用于在多个条件和列上从一个表插入另一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27329321/