select into插入数据时,像同一个表中同时插入多条记录

table 数据库表
此数据库表中,Name,与Nickname一致

NameAgeSexNicknameWork
小红20小红教师
小明28小明警察
小亮30小亮律师

需求:向表中再为小红插入一条职业信息。其中,Name,Age,Sex,Nickname字段均与原数据一致,只有Work不同。如过想要插入数据变动不大时,可以使用此语句,sql语句如下:

Insert into table(Name,Age,Sex,Nickname,Work)  
select top 1 b.Name, b.Age, b.Sex, b.Name AS Nickname,'客服'
from table b  where b.Name='小红';

结果:

NameAgeSexNicknameWork
小红20小红教师
小明28小明警察
小亮30小亮律师
小红20小红客服

若想同时为一个人插入两条职业信息,sql语句如下:

Insert into table(Name,Age,Sex,Nickname,Work)  
select top 1 b.Name, b.Age, b.Sex, b.Name AS Nickname,'客服' from table b  where b.Name='小红'
UNION
select top 1 b.Name, b.Age, b.Sex, b.Name AS Nickname,'司机' from table b  where b.Name='小红'

**注意:
1、select语句中一定要限制查询到的记录数为1,否则插入会报错。
2、要求目标表Table必须存在,由于目标表Table已经存在,所以我们除了插入源表Table b的字段外,还可以插入常量。(两个表可以是同一个)
**

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值