sql语句从一张表查询一个字段值插入另一个表中

如:insert into a(name, num, class) value("小米",“1001”, class);
class的值是从表b中获取:select class from b where name = “小米”;
如何将上面合成一条sql语句,数据库mssql,求指导
最新回答
ヽ冷艳°皇后

2024-10-31 07:43:04

标准SQL语句格式:

INSERT 

INTO 表名(字段名)

select 字段名

from 表面

例子:将查询出的s表中sno,j表中jno,p表中pno插入spj表中

insert 

into spj(sno,jno,pno)

select sno,jno,pno

from s,j,p


扩展资料:

SQL导入语句

如果要导出数据到已经生成结构(即现存的)FOXPRO表中,可以直接用下面的SQL语句:

insert into openrowset('MSDASQL', 

'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\', 

'select * from [aa.DBF]') 

select * from 表

说明:

SourceDB=c:\ 指定foxpro表所在的

文件夹
 

aa.DBF 指定foxpro表的文件名。

白云下的棉絮

2024-10-31 07:40:55

insert into a(name,num,class) values('小米','1001',(select class from b where name = '小米'));
追问
这样也不行呀 这样的话整条都插不进去
追答
是不是表b中name等于小米的class值不止一个?如果这样的话你必须保证等于小米的class是一个值,上述语句才可以.
追问
sql语句错误:在此上下文中不允许使用子查询。只允许使用标量表达式。显示的是这样的
追答
是哪个环境?SQL Server还是oracle?
追问
解决了,是这样写insert into a(name,num,class)  select '小米','1001',class from b where name = '小米';
残喘

2024-10-31 07:57:57

http://zhidao.baidu.com/link?url=jcAjwsJyCud_GET0-RpXIp754kTnJQU00L6RRe2gbXbvfKfYgnHoWtM2z4YVrgt-ZzBpTlSwPNOJ2g5PcAwSMK
追问
我和他的不一样,表a中是有其他数据插入的,只查询表b中的一个字段的值
追答
insert into a(name,num,class) values('小米','1001',(select top 1 class from b where name = '小米'));
追问
sql语句错误 在此上下文中不允许使用子查询。只允许使用标量表达式。
欤你

2024-10-31 07:49:18

insert into a(产品,编号, 类型)
select 产品,编号, 类型 from b
where 产品=‘小米’