2012年4月6日 星期五
符合條件的結果集,將特定欄位的字串相加
以AdvantureWorks為DB,使用Person.Contact Table
-- 目的:取出LastName='Ferrier'的人,將其FirstName字串相加
--1.計算LastName='Ferrier'的筆數
--2.建立變數:NameCount(筆數)、n(取n筆資料的第一筆)、st(存放字串)
--3.跑回圈、累加字串
declare @NameCount int --取筆數
set @NameCount = (select count(*) from Person.Contact where LastName='Ferrier')
--select @NameCount
declare @n int --第n筆
set @n = 2
declare @st varchar(1000) --名字累加
set @st = (select top 1 FirstName from Person.Contact where LastName='Ferrier' order by FirstName)
while(@n <=@NameCount)
begin
set @st = @st + ';' + (select top 1 FirstName from
(select top(@n) FirstName from Person.Contact where LastName='Ferrier' order by FirstName asc)
tmp order by FirstName desc)
set @n =@n +1
end
select @st
訂閱:
文章 (Atom)