Mysql Query用于在多个条件和列上从一个表插入另一个表

时间:2014-12-06 07:16:15

标签: mysql sql select insert case

我有一个名为test table的表,其中我总共有8列(Roll_noStudent_nameCompany1Pass_fail1,{{1} },Company2Pass_fail2Company3)。 我必须将测试表中的数据插入另一个表(比如采访表)。 面试表的列是(Pass_fail3Roll_noStudent_nameCompany1Company2);

插入的条件是:
如果学生通过了公司1的考试(即Company3),那么他有资格接受公司1的面试,并且剩下两家公司的面试条件相同。 因此,只有在pass_fail1=1

时才会将Company1插入面试表中

如果pass_fail1=1.则不输入公司名称。

1 个答案:

答案 0 :(得分:3)

试试这个:

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