首页 新闻 赞助 找找看

想问下这个sql语句怎么写?

0
悬赏园豆:50 [已解决问题] 解决于 2008-11-18 13:33

我想把一个表里面的数据导入导入另一个表

仅仅导入数据,语句大致是

insert into table1 (field1,field2) select field1 ,field2 from talbe2

但是我现在存在2个表的关联关系

例如:当table1里的字段3等于1的时候 在table2里插入的字段3等于3

我不知道在sql里怎么写这种带复合关系的语句

请问sql有办法这样处理语句么??

小眼睛老鼠的主页 小眼睛老鼠 | 老鸟四级 | 园豆:2731
提问于:2008-11-18 10:37
< >
分享
最佳答案
0

到底是要把哪个里面的数据插入到哪个里面?

假设你要把 table2(field1, field2, field3) 插入到 table1(field1, field2, field3),并且当源数据(table2)中的field3=1时,插入时table1的field3修改成3,即:

2,5,2 -> 2,5, 2
2,5,1 -> 2,5,3

使用下面的语句:

insert into table1(field1,field2,field3)
  select field1,field2,case field3 when 3 then 1 else field3 end as field3 from table2

丁学 | 专家六级 |园豆:18730 | 2008-11-18 12:39
其他回答(4)
0

这种情况,我一般是用存储过程的

长风一剑 | 园豆:29 (初学一级) | 2008-11-18 11:53
0

是不是想要联合查询,再把查到的结果,inert到table1中

这个是语句,供你参考下

set identity_insert  table1  on  

insert into table1

select a.ID,b.name,..... from Table2 as a   --这里边的参数据和类型,一定要和table1中的

-- 一定要相互对应

join  Table3 as b

on a.ID=b.ID

set identity_insert  table1  off

程序员老李 | 园豆:790 (小虾三级) | 2008-11-18 11:56
0

xuexi

Jared.Nie | 园豆:1940 (小虾三级) | 2008-11-18 12:24
0

把问题说清楚在回答!不晓得你要干什么??

子夜星辰 | 园豆:1613 (小虾三级) | 2008-11-18 13:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册