利用查询结果作为插入值

zhangwuji154 2010-10-13 04:52:37
比如一张记录人的表

ID 名字 父亲
1 张三 null
2 李四 null
3 张大 1

这条记录
3 张大 1
表示“张大”的父亲是ID为1的人。

现在想插入“李大”,只知道李大是李四的儿子,但不知道李四的ID,
想用类似的SQL语句
insert into tab VALUES (4, '李大', select ID from tab where 名字=='李四')
...全文
167 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangwuji154 2010-10-13
  • 打赏
  • 举报
回复
不好意思,我那个已经结过贴了才看到你的……
fpzgm 2010-10-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhangwuji154 的回复:]
引用 2 楼 kevinwen0413 的回复:

insert into tb select '4','李大',id from tb where 名字= '李四'

1楼方法已测试,2楼方法暂未测试
[/Quote]

5楼绝对正确
fpzgm 2010-10-13
  • 打赏
  • 举报
回复
insert into [table] select '4','李大',ID from [table] where 名字= '李四'
zhangwuji154 2010-10-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 kevinwen0413 的回复:]

insert into tb select '4','李大',id from tb where 名字= '李四'
[/Quote]
1楼方法已测试,2楼方法暂未测试
kevn 2010-10-13
  • 打赏
  • 举报
回复

create table #b (id varchar(10),name varchar(10),p varchar(10))
insert into #b


select '1','李四',''
insert into #b select '4','李大',id from #b where name = '李四'



select * from #b

/*
1 李四
4 李大 1
*/
kevn 2010-10-13
  • 打赏
  • 举报
回复
insert into tb select '4','李大',id from tb where 名字= '李四'
viqn7qdnt 2010-10-13
  • 打赏
  • 举报
回复

declare @a varchar(20)
select @a=ID from tab where 名字='李四'
insert into tab VALUES (4, '李大',@a )

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧