SQL - 如何从表中检索多行,然后获取该信息并将其转储到另一个表上的新行中

时间:2013-02-14 21:37:20

标签: sql database insert-into

我想基于typeID号从一个表中获取行,并使用第一个表查询和一些静态变量的混合数据将新行插入到另一个表中。

有一种简单的方法吗?

代码编辑:(我无法使其工作 - 获得MIssing Expression错误)

Insert into tableOne
(pk_col, Custom_int_col, Data_from_other_col)
Select  default,111,security_resource_id
From security_resource sr
Where sr.company_id = 1

3 个答案:

答案 0 :(得分:2)

这样的东西
Insert SomeTable(SomeCol1, SomeCol2,SomeCol29)
Select 'SomeText', SomeCol3,963.45 From SomeOtherTable Where SomeKey = 876

还有另一种称为select into的味道。无法精确地使用语法,因为您从未提及您正在使用哪个DBMS。

答案 1 :(得分:2)

是的确定

    INSERT INTO yourTable
    (column1,column2)
    SELECT '' ,column FROM SecondTa

答案 2 :(得分:1)

如果第二个表不存在,您可以使用create table asselect into创建它,具体取决于您使用的数据库。

例如:

select col1, 123 as value
into NewTable
from t
where flag = 0

在某些数据库中,语法为:

create table as
    select col1, 123 as value
    from t
    where flag = 0

Tony已经回答了第二个表已经存在的情况的问题。