SQL Server ÐÐÁÐת»»
ÔÚSQL SERVERÖУ¬ÓÐʱÐèÒªºÏ¶àÁÐÖµµ½ÐеÄÐèÇ󣬳£¼ûµÄ·½·¨ÓУº1.´´½¨×Ô¶¨Ò庯Êý£¬2.ʹÓÃÓα귨½øÐÐ×Ö·û´®ºÏ²¢¡£3.ʹÓÃÁÙʱ±íʵÏÖ×Ö·û´®ºÏ²¢¡£ Êý¾Ý£º DEPTNO EMPS
------ ----------
10 CLARK
10 KING
10 MILLER
20 SMITH
20 ADAMS
20 FORD
20 SCOTT
20 JONES
30 ALLEN
30 BLAKE
30 MARTIN
30 JAMES
30 TURNER
30 WARD
ÆÚÍû½á¹û£º
DEPTNO EMPS
------- ------------------------------------
10 CLARK,KING,MILLER
20 SMITH,JONES,SCOTT,ADAMS,FORD
30 ALLEN,WARD,MARTIN,BLAKE,TURNER,JAMES
1.xmloutput---------------------------------------
SELECT *
from(
SELECT DISTINCT
deptno
from emp
)A
OUTER APPLY(
SELECT
[values]= STUFF(REPLACE(REPLACE(
(
SELECT ENAME from emp N
WHERE deptno = A.deptno
FOR XML AUTO
), '', ''), 1, 1, '')
)N
2.---using CTE----------------------------------------
--Creating a Delimited List from Table Rows
-------------------------------------------------------
with x (deptno, cnt, list, empno, len)
as (
select deptno, count(*) over (partition by deptno),
cast(ename as varchar(100)),
empno,
1
from emp
union all
select x.deptno, x.cnt,
cast(x.list + ',' + e.ename as varchar(100)),
e.empno, x.len+1
from emp e, x
where e.deptno = x.deptno
and e.empno > x. empno
)
select deptno,list
from x
where len = cnt
order by 1
3.....
Ïà¹ØÎĵµ£º
SQL Server 2005Êý¾Ý¿â¾µÏñ¼ò½é
×Ô´ÓSQL Server 2000ÒÔÀ´£¬ÄãÒѾÄܹ»Í¨¹ýʹÓø´ÖÆÀ´´´½¨Ò»¸ö±¸ÓõķþÎñÆ÷¡¢´«ÊäÈÕÖ¾£¬ÒÔ¼°±¸·ÝºÍÖØÐ´洢ÁË——µ«ÊÇÏÖÔÚ΢ÈíÓÖÒýÈëÁËÒ»¸öÄÚ½¨µÄ¹¤¾ß£¬Ëü¿ÉÒÔʵÏÖ×Ô¶¯µÄ´íÎó»Ö¸´¡£Êý¾Ý¿â¾µÏñÊÇSQL Server 2005µÄÒ»¸öÐÂÌØÐÔ£¬ËüÔÊÐíÄ㽫һ¸öSQL ServerÖеÄÊý¾Ý¿âÄÚÈݾµÏñµ½ÁíÒ»¸öS ......
//--Ìí¼Ó·þÎñÆ÷
EXEC sp_addlinkedserver
@server='LQXLSJ-600A5A60',--±»·ÃÎʵķþÎñÆ÷±ðÃû
@srvproduct='',
@provider='SQLOLEDB',
@datasrc='LQXLSJ-600A5A60' --Òª·ÃÎ ......
--> Title : SQL ServerÊÓͼÖг£見ÏÞÖÆÌõ¼þ
--> Author : wufeng4552
--> Date : 2010-03-01
(1): ÊÓͼÊý¾Ý¸ü¸ÄµÄ³£見ÏÞ¶¨
µ±Óû§¸üÐÂÊÓͼÖеÄÊý¾Ýʱ,Æäʵ¸ü¸ÄµÄÊÇÆä¶ÔÓ¦µÄÊý¾Ý±íµÄÊý¾Ý.ÎÞÂÛÊǶÔÊÓͼÖеÄÊý¾Ý½øÐиü¸Ä,»¹ÊÇÔÚÊÓͼÖвåÈë»òÕßɾ³ýÊý¾Ý,¶¼ÊÇÀàËÆµÄµÀÀí.µ«ÊÇ,² ......
//°´×ÔÈ»ÖÜͳ¼Æ
select to_char(date,'iw'),sum()
from
where
group by to_char(date,'iw')
//°´×ÔÈ»ÔÂͳ¼Æ
select to_char(date,'mm'),sum()
from
where
group by to_char(date,'mm')
//°´¼¾Í³¼Æ
select to_char(date,'q'),sum()
fr ......
--»ñȡij¸öÊý¾Ý¿âÖеıí½á¹¹
SELECT
--±íÃû=case when a.colorder=1 then d.name else '' end,
ÐòºÅ=a.colorder,
--±êʶ=case when COLUMNPROPERTY(&nbs ......