如何在SQL插入语句中通过条件逻辑填充userJobId表?
实现带条件映射的SQL插入语句
你可以用SQL的CASE WHEN表达式来完成这个值映射需求,下面是完整的插入语句:
INSERT INTO userJobId (userid, jobgroupid) SELECT a14userID AS userid, CASE a14jobID WHEN 'CUPE12MO' THEN 1 WHEN 'TEACHOCCL' THEN 2 WHEN 'COOPSTUDENT' THEN 3 -- 可选:如果遇到不在上述范围内的a14jobID,可设置默认值,比如NULL或其他指定数字 ELSE NULL END AS jobgroupid FROM tbl14userJob;
说明:
CASE表达式会根据a14jobID的具体值返回对应的jobgroupid数字,完全匹配你需要的映射规则。- 直接把这段SQL放到你的PHP代码里执行即可,如果用的是参数化查询(推荐用来防SQL注入),这段静态的条件逻辑不需要额外处理。
- 注意确保
tbl14userJob.a14userID和userJobId.userid的字段类型一致,避免插入时出现类型不匹配的错误。如果只需要插入部分数据,可以在FROM tbl14userJob后面添加WHERE条件过滤。
内容的提问来源于stack exchange,提问作者T Harish
相关产品推荐
相关产品推荐

