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

标签 mysql sql select insert case

我有一个名为测试表的表,其中总共有 8 列(Roll_noStudent_nameCompany1Pass_fail1Company2Pass_fail2Company3Pass_fail3)。 我必须将测试表中的数据插入到另一个表(例如面试表)。 Interview 表的列为 (Roll_noStudent_nameCompany1Company2Company3 );

插入的条件是:
如果学生通过了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/

相关文章:

sql - 如何显示来自两个 'select' 的结果表?数据库

php - 获取使用 php/mysql 预订的日期

php - 多表分页

mysql - 如何根据列中的子字符串进行聚合?

mysql - 数据库值在特殊字符处被截断

MySQL基于其他列的Sum运算

mysql - 仅当存在于 sql 中时才删除列

MYSQL 选择优先级数据(如果存在)

javascript - <select> 下拉选项中的链接

mysql - SELECT 语句有时不适用于波斯语内容