永发信息网

mysql中sql语句查询的同时根据条件将数据插入到另一个表的做法?

答案:2  悬赏:80  手机版
解决时间 2021-08-11 03:54
  • 提问者网友:蓝莓格格巫
  • 2021-08-10 09:54

我目前的需求是这样的,有两个表,table1、table2。 table1中有一个字段叫name,table2中有两个字段分别叫name和flag。

现在的需求是将table2中的数据导入到table1中,并且根据table2中flag字段的不同值,执行不同的插入语句,也就是说,flag的值不同,对应的向table1插入的语句就不同。请问大伙谁有怎么高招,请指点指点,一条sql语句如何做。

 

目前我想到的办法大概是:

insert into table1 (name) select t2.name,if(t2.flag=0,,insert into table1( name) values(t2.name)) from table2 as t2 。

 

当然,这个语句是执行不了的,我的意思就是在把数据导入到table1的过程中判断一下flag值。如果等于0,正常执行最外面的到数据的sql,如果不等于1,则执行一条新的sql语句。

当然,我举的例子中,两个插入的语句是一个意思,但这只是一个例子,我的实际需求中,if判断里面的第三个参数的插入语句部分仍然是一个判断,请大家不要抓住我两天插入语句一样的例子。

最佳答案
  • 五星知识达人网友:舍身薄凉客
  • 2021-08-10 11:29
case when then when then else end 用这个来实现你的逻辑,if好像不能多重嵌套吧,我感觉是不能。
全部回答
  • 1楼网友:北城痞子
  • 2021-08-10 11:48
INSERT INTO table_1 SELECt name FROM table_2 WHERe flag = ?; 这样不可以吗?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯