SQL :INSERT语句里嵌套查询语句的问题

baidu_16609983 2014-09-09 09:55:35
正常插入语句是这样的:
INSERT INTO biao1(name,tel,adress,like,press,school,mem) VALUES (@姓名, @电话,@地址, @喜好, @经历, @学校, @备注)
现在想通过把在目标表biao2里查询出来的个别字段插入到源表biao1里:
表名为biao1的表里有字段id,name,tel,adress,like,press,school,mem
表名为biao2的表里有字段id,name,tel1,school1
在biao1里新加记录时候,想以name为查询条件从biao2里提取tel1赋值给tel,提取school1赋值给school
大概写了SQL语句:
insert into biao1(name,tel,school,adress,like,press,mem) (select name,tel1,school1 from biao2 where
biao1.name=biao2.name),@地址, @喜好, @经历,@备注

运行后提示语法错误,不知道到哪里错了,请大家帮忙,谢谢!!!
...全文
1096 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
baidu_16609983 2014-09-10
  • 打赏
  • 举报
回复
引用 2 楼 Z65443344 的回复:
类似这种嵌套查询或子查询,如果你想查询出来的是一个值,而不是一个表,那么你就得保证SQL语句查询结果的唯一性 比如使用count(*),sum(value),max(id)等,必须从语法上保证查询出来的结果是单行单列,而不是数据只有一行就可以的
按照这个说法,我从biao2里查出来的应该是只有一行,你说的单行单列什么意思,难道错误是从这来的
baidu_16609983 2014-09-10
  • 打赏
  • 举报
回复
按照一楼的写法,提示错误:无法绑定由多个部分组成的标识符 "biao1.name"。
baidu_16609983 2014-09-09
  • 打赏
  • 举报
回复
insert into biao1(name,tel,school,adress,like,press,mem) select name,tel1,school1 ,@地址, @喜好, @经历,@备注 from biao2 where biao1.name=biao2.name 这样写怎么这么奇怪,,@地址, @喜好, @经历,@备注,也不在biao2里呀
於黾 2014-09-09
  • 打赏
  • 举报
回复
类似这种嵌套查询或子查询,如果你想查询出来的是一个值,而不是一个表,那么你就得保证SQL语句查询结果的唯一性 比如使用count(*),sum(value),max(id)等,必须从语法上保证查询出来的结果是单行单列,而不是数据只有一行就可以的
熙风 2014-09-09
  • 打赏
  • 举报
回复
insert into biao1(name,tel,school,adress,like,press,mem)  select name,tel1,school1 ,@地址, @喜好, @经历,@备注  from biao2  where 
biao1.name=biao2.name
Qxiaojie 2014-09-09
  • 打赏
  • 举报
回复
引用 3 楼 baidu_16609983 的回复:
insert into biao1(name,tel,school,adress,like,press,mem) select name,tel1,school1 ,@地址, @喜好, @经历,@备注 from biao2 where biao1.name=biao2.name 这样写怎么这么奇怪,,@地址, @喜好, @经历,@备注,也不在biao2里呀
你百度下 SQL 的 insert into select 语法结构 你就得到你想要的了

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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