SQLSERVER2000 怎样将一个查询结果,并将结果写入一个新表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQLSERVER2000 怎样将一个查询结果,并将结果写入一个新表相关的知识,希望对你有一定的参考价值。

怎样将一个查询结果写入一个新表(形成查询的同时生成新表)

参考技术A 新表不存在:
SELECT * INTO 新表 FROM 旧表
新表存在:
INSERT INTO 新表
SELECT * FROM 旧表
参考技术B insert into 表名1 vaules(字段1,字段名) select 字段名1,字段名2 from 表名2

语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1
注意:(1)要求目标表Table2必须存在,并且字段field,field2...也必须存在

(2)注意Table2的主键约束,如果Table2有主键而且不为空,则 field1, field2...中必须包括主键
参考技术C select *
into newtabe
from table

--使用into关键字

参考资料:f

参考技术D create table tablename(a varchar(10),b int,b int)
insert into tablename select d,f from ……
第5个回答  2011-10-22 select 查询字段 into 新表 from 查询的表

SQL 怎样将查询出某列的多行数据,变为一行显示? 通过SQL语句查询出结果 AutoID cT

SQL 怎样将查询出某列的多行数据,变为一行显示?

通过SQL语句查询出结果
AutoID cType
--------------
1 出国
2 回国

怎样显示成:

出国,回国

我现在写了一个函数,如下:
GO
CREATE FUNCTION dbo.SplitString
(
@field varchar (50) ,---需拼接的字段
@table varchar(50) ,---表名
@id varchar(50) ---AutoID的值
)
RETURNS varchar(8000)
AS
BEGIN
DECLARE @input varchar(8000)
SELECT @input = (@input+',','') + @field FROM @table WHERE AutoID = @id
RETURN @input
END
GO

在查询分析器中执行以上语句时,提示"必须声明变量'@table'。",快跪了,求高人帮忙。

你好,你看看参考一下。

DECLARE @t TABLE(id int, value varchar(10))
INSERT @t SELECT 1, '出国'
UNION ALL SELECT 2, '回国'

SELECT [values]= STUFF((REPLACE(REPLACE((SELECT value FROM @t  FOR XML PATH('')),'<value>',','),'</value>','')),1,1,'')

参考技术A 可以参考下这篇帖子
http://zhidao.baidu.com/link?url=3p6gIBaduBOcPJUF-JD7FDjuwFD1sVKdHYt-OBIQ3KECZyD1RUC67GR0x8MyEeaDBp3u3UBIBnSai20NhU5jta

以上是关于SQLSERVER2000 怎样将一个查询结果,并将结果写入一个新表的主要内容,如果未能解决你的问题,请参考以下文章

sql server 2000 单用户如何设置?

怎样导出sql server2000的表结构(不含数据)

将查询从 SQL Server 转换为 Access 2000

怎样在SQLServer中将查询的结果循环。

怎样一个表中的2个查询结果合并到一个表中的两列

sqlserver怎样判断查询出来的表里 某列是不是存在