SQLÓï¾ä Çë½Ì - MS-SQL Server / »ù´¡Àà
×Ó±ía
ID Ô·Ý
1 2010-01
1 2010-02
1 2010-01
2 2010-03
²éѯ½á¹û
id Ô·Ý
1 2010-01/2010-02
2 2010-03
ÔõôʵÏÖ
ÐÐÁкϲ¢£¬½»¸øÐ¡F
SQL code:
[Quote=ÒýÓà 1 Â¥ guguda2008 µÄ»Ø¸´:]
ÐÐÁкϲ¢£¬½»¸øÐ¡F
[/Quote]
Ëû¿ÉÄÜϰàÁË
/*
±êÌ⣺°´Ä³×ֶκϲ¢×Ö·û´®Ö®Ò»(¼òµ¥ºÏ²¢)
×÷Õߣº°®Ð¾õÂÞ.ع»ª(Ê®°ËÄê·çÓê,ÊØµÃ±ùɽѩÁ«»¨¿ª)
ʱ¼ä£º2008-11-06
µØµã£º¹ã¶«ÉîÛÚ
ÃèÊö£º½«ÈçÏÂÐÎʽµÄÊý¾Ý°´id×ֶκϲ¢value×ֶΡ£
id value
----- ------
1 aa
1 bb
2 aaa
2 bbb
2 ccc
ÐèÒªµÃµ½½á¹û£º
id value
------ -----------
1 aa,bb
2 aaa,bbb,ccc
¼´£ºgroup by id, Çó value µÄºÍ£¨×Ö·û´®Ïà¼Ó£©
*/
--1¡¢sql2000ÖÐÖ»ÄÜÓÃ×Ô¶¨ÒåµÄº¯Êý½â¾ö
create table tb(id int, value varchar(10))
insert into tb values(1, 'aa')
insert into tb values(1, 'bb')
insert into tb values(2, 'aaa')
insert into tb values(2, 'bbb')
insert into tb values(2, 'ccc')
go
create function dbo.f_str(@id int) returns varchar(100)
as
begin
declare @str varchar(1000)
set @str = ''
select @str = @str + ',' + cast(value as varchar) from tb where id = @id
set @str = right(@str , len(@str) - 1)
return @str
end
go
--µ÷Óú¯Êý
select id , value = dbo.f_str(id) from tb group by id
drop function dbo.f_str
drop table tb
--2¡¢sql2005Öеķ½·¨
create table tb(id int, value varchar(1
Ïà¹ØÎÊ´ð£º
ÎÒÓÐÒ»¸ö±í£¬½á¹¹ÊÇÕâÑù¡£
ת³ö µ¥Î» תÈ뵥λ ±ÊÊý ½ð¶î
date(Ö÷) outid(Ö÷) inid(Ö÷) num amt
2009 1 2 1 500 Ϊ 1 µ¥Î» ÔÚ2009Ä ......
¿ÉÄÜÒòΪ¹¤×÷µÄÔÒò ½Ó´¥Êý¾Ý¿âÕâ¿é±È½ÏÉÙ£¬Ö®Ç°¶¼ÊÇ×ö³ÌÐòÕâ¿é£¬Êý¾Ý¿âÕâ¿é¶¼ÓÐרÃŵÄÈËÀ´×ö ·Ö¹¤¶¼ºÜÃ÷ϸ ËùÒÔ¶ÔÊý¾Ý¿âÕâÒ»¿éÍêÈ«²»Á˽⡣ǰ¶Îʱ¼ä È¥ÃæÊÔÁ˼¸¼Ò¹«Ë¾ ¼¸ºõ¶¼ÊÇÔÚÊý¾Ý¿âÕâ¿é¹ÒµôµÄ Á¬¸ö¼òµ¥µÄSQ ......
½ñÌì×öÁËÒ»¸ö´æ´¢¹ý³Ì »·¾³ÊÇSQL2000Êý¾Ý¿â
´óÖÂÈçÏÂ
½¨Á¢ÁÙʱ±í
¶¨ÒåÔ±¹¤Óαê
Ñ»·Ô±¹¤£¨ÊôÓÚ1¸ö¹«Ë¾)
......
sqlserver2005 ½¨Á¢µÄÊý¾Ý¿â£¬ÓëÊÖ³Öpda´«ÊäÊý¾Ý£¬×î½üͻȻ³öÏÖÎÞ·¨´«µÝÊý¾ÝµÄÎÊÌ⣬pda¶ËÌáʾµÄ´íÎóʱoutofmemoryexception£¬µ«ÊÇpdaÉÏÃæµÄÈÝÁ¿Ã»ÓÐÎÊÌ⣬
sqlserverµÄÈÕ×ÓÉϵĴíÎóÈçÏ£º
ÈÕÆÚ 2010-1-25 14:45: ......
id url rank ......