SQLÃÔ»ó
CREATE TABLE [Test_xcmtmp] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[name] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[subject] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Source] [numeric](18, 0) NULL
) ON [PRIMARY]
GO
INSERT INTO [Test_xcmtmp] ([name],[subject],[Source]) values (N'ÕÅÈý',N'ÓïÎÄ',60)
INSERT INTO [Test_xcmtmp] ([name],[subject],[Source]) values (N'ÀîËÄ',N'Êýѧ',70)
INSERT INTO [Test_xcmtmp] ([name],[subject],[Source]) values (N'ÍõÎå',N'Ó¢Óï',80)
INSERT INTO [Test_xcmtmp] ([name],[subject],[Source]) values (N'ÍõÎå',N'Êýѧ',75)
INSERT INTO [Test_xcmtmp] ([name],[subject],[Source]) values (N'ÍõÎå',N'ÓïÎÄ',57)
INSERT INTO [Test_xcmtmp] ([name],[subject],[Source]) values (N'ÀîËÄ',N'ÓïÎÄ',80)
INSERT INTO [Test_xcmtmp] ([name],[subject],[Source]) values (N'ÕÅÈý',N'Ó¢Óï',90)
Go
declare @sql varchar(8000)
---*********
set @sql = 'select name,'
select @sql = @sql + 'sum(case subject when '''+subject+''' then source else 0 end) as '''+subject+''','
from (select distinct subject from Test_xcmtmp) as a
select @sql = left(@sql,len(@sql)-1) + ' from Test_xcmtmp group by name'
--**********
exec(@sql)
go
Ïà¹ØÎÊ´ð£º
Ö´ÐеÄ˳Ðò£º
1£©Îļþä¯ÀÀ¿ò£¨Ñ¡ÔñÎļþʹÓã©
Ñ¡ÔñºÃÎļþºó
µã»÷Ò»¸öµ¼Èë°´Å¥µÄʱºò £¬°ÑÉÏÃæÉÏ´«¿òÀïµÄcsvÎļþÒÔÒ»¸öIDΪÎļþÃû£¬ÉÏ´«µ½**/**Îļþ¼ÐÏÂ
2£©¶ÁÈ¡Õâ¸öÎļþ¼ÐϵÄcsvµÄÎļþ£¬×ª»»³Ésql
3 ......
ÒÑÖª´ÓB,±íÖÐÕÒ³öID, NAMEÁ½ÏîÓëC±íÏàͬµÄÊý¾Ý£¬ÔÙÒÀ¾ÝB±íÖо¹ý²éѯ³öÀ´µÄID,CODEÁ½ÏîÊý¾Ý²éѯÓëA±íID,CODEÁ½ÏîÏàͬµÄÊý¾ÝÖжÔÓ¦µÄEMAILÀ´£¬²¢ÁгöÈçÏÂD±íµÄÐÎʽ£¬²»ÖªÎÒÊÇ·ñ±íʾÇå³þ£¿Âé·³°ïÎÒÁÐһϹ«Ê½ºÃÂð£¿Íò· ......
£¨1£©string ConnString = "server=localhost;integrated security=sspi;database=pubs;";
£¨2£©string strConnection="user uid=sa;pwd=123456;Database=test;Server=test;Connect ......
ÇëÎÊ£º
1,ÈçºÎ½«Ò»ÕÅdbf±íµ¼Èëµ½sql server2000ÖеÄÒ»ÕÅ±í¡£Ê¹ÓÃDTS¸ÃÔõÑùʵÏÖ£¿
2,ʹÓÃÍøÉÏ´úÂ룺
Insert Into Tb_cj Select * from openrowset('MSDASQL','Driver=Microsoft Visual FoxPro D ......
ÔÊý¾Ý
ÉÌÆ· Ô¼Û ´òÕÛ·½Ê½1 ÕÛ¿Û1 ´òÕÛ·½Ê½2 ÕÛ¿Û2
±Ê¼Ç±¾ 10000 NULL 0 NULL&nb ......