木子屋 Dnawo's BLOG

SQL Server2000不同结构的表间数据的复制

👤 dnawo 📅 2008-08-07 👁 5011 👍 0 💬 0 🔄 本站原创
假设表Table1的内容如下:

name course total
张三 语文 35
张三 数学 45
张三 英语 60
李四 语文 75
李四 数学 90
李四 英语 80

我们希望把其中的内容复制到表Table2中,Table2的结构和Table1不完全一样,Table2的字段有:name,course,result,comment,当total字段值小于60时,result显示不及格,否则显示及格,comment可暂时不写入任何内容,直接显示"-"就好了,下边是用于复制的SQL语句:

Insert Into Table2(name,course,result,comment)
Select name,course,case when total<60 then '不及格' else '及格' end,'-' From Table1

执行结果如下:

name course result comment
张三 语文 不及格 -
张三 数学 不及格 -
张三 英语 及格 -
李四 语文 及格 -
李四 数学 及格 -
李四 英语 及格 -

说明:

1.表间复制有时并不是将字段值原封不动的复制过去,如上边的total和result,我们可以对字段值进行处理,如上边的"case when total<60 then '不及格' else '及格' end";
2.注意上边Select '-'的使用,它解决了当无字段可对应时的一种处理方法;

评论(0)

暂无评论。

计算题
评论需审核通过后显示
← 上一篇 终于解决了输入法问题 下一篇 → 函数式编程另类指南