比如说
Table 1 有字段a,b,c
Table2 有字段name ,vvalue
数据 a, 100
b, 200
c , 300向Table1插入值 (100,200,300) 这些值都是从Table2获取的
这怎么写啊?
Table 1 有字段a,b,c
Table2 有字段name ,vvalue
数据 a, 100
b, 200
c , 300向Table1插入值 (100,200,300) 这些值都是从Table2获取的
这怎么写啊?
解决方案 »
- 收藏 不显示删除回复显示所有回复显示星级回复显示得分回复 C# Update DataBase int SQL question...help...plz.
- PRIMARY已满,这个问题怎么解决?
- 一台PC机做服务器运行,配置:CPU AMD2500+ 内存 512M, 网页ASP里运行以下SQL总是是CPU利用率到100%,请问那方面的问题?
- 怎样把表中的记录转成一张新表的字段(如图)
- 紧急问题
- 如何取到最大值?
- SQL 连接小问题
- 表复制问题求教,谢谢
- 给我一个设计思想,在线等待!
- &&&&&&&&&&&&&&一个简单的SQL语句问题&&&&&&&&&&&& 马上结帐
- 关于使用mysql的hibernate创建表的问题
- 如何设计一个流量套餐
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([a] int,[b] int,[c] int)
GO
if not object_id(N'Tempdb..#T1') is null
drop table #T1
Go
Create table #T1([name] nvarchar(21),[vvalue] int)
Insert #T1
select N'a',100 union all
select N'b',200 union all
select N'c',300
Go
--测试数据结束
DECLARE @clos NVARCHAR(100) ,
@values NVARCHAR(100) ,
@str NVARCHAR(MAX);
SET @clos = STUFF(( SELECT ',' + name
FROM #T1
FOR
XML PATH('')
), 1, 1, '');
SET @values = STUFF(( SELECT ',' + RTRIM(vvalue)
FROM #T1
FOR
XML PATH('')
), 1, 1, '');
SET @str = 'insert into #T(' + @clos + ') values(' + @values + ')';
EXEC(@str);SELECT * FROM #T
IF OBJECT_ID('tempdb..#table2') IS NOT null DROP TABLE #table2
CREATE TABLE #table2([name] VARCHAR(10),value INT )
INSERT INTO #table2
SELECT 'a',100 UNION
SELECT 'b',200 UNION
SELECT 'c',300 UNION
SELECT 'd',400 UNION
SELECT 'e',500 DECLARE @cols VARCHAR(max),@sql VARCHAR(max)
SELECT @cols=ISNULL(@cols+',','')+QUOTENAME(name) FROM #table2
SET @sql='SELECT * into #table1 FROM #table2
PIVOT(MAX(value) FOR [name] IN ('+@cols+')) c;select * from #table1'
EXEC(@sql)
a b c d e
----------- ----------- ----------- ----------- -----------
100 200 300 400 500