mysql中sql语句查询的同时根据条件将数据插入到另一个表的做法?
我目前的需求是这样的,有两个表,table1、table2。table1中有一个字段叫name,table2中有两个字段分别叫name和flag。现在的需求是将table...
我目前的需求是这样的,有两个表,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判断里面的第三个参数的插入语句部分仍然是一个判断,请大家不要抓住我两天插入语句一样的例子。
展开
2个回答
2013-08-13
展开全部
case when then when then else end 用这个来实现你的逻辑,if好像不能多重嵌套吧,我感觉是不能。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-13
展开全部
INSERT INTO table_1 SELECT name FROM table_2 WHERE flag = ?;
这样不可以吗?
这样不可以吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询