測試用例:
表一:
id name qq phone
------------------------------------------
1 秦雲 10102800 13500000
2 在路上 10378 13600000
3 leo 10000 13900000
表二:
id name 上機時間 管理員
------------------------------------------
1 秦雲 2004-01-01 李大偉
2 秦雲 2005-01-01 馬化騰
3 在路上 2005-01-01 馬化騰
4 秦雲 2005-01-01 李大偉
5 在路上 2005-01-01 李大偉
6 陳揚 2006-01-01 李彥巨集
目的:從表1中取所有人員列表,從表2中取上機次數和管理員.
獲取管理員拼接串
createfunction
getnamestr(
@name
nvarchar
(200
))returns
nvarchar
(200)as
begin
declare
@temp
nvarchar
(200),
@revalue
nvarchar
(200
)declare
mycur
cursor
for(
select
管理員
from
loginfo
where
name =n
'秦雲')
open
mycur
fetch
next
from
mycur
into
@temp
while
@@fetch_status=0
begin
set@revalue
=isnull
(@revalue+n
',',
'')
+@temp
fetch
next
from
mycur
into
@temp
endclose
mycur
deallocate
mycur
return
@revalue
end
主查詢:
selectname,
count
(id) 上機次數,dbo.getnamestr(name)
from
loginfo t2
where
exists
(select
1from
stuinfo t1
where
t1.name
=t2.name
)group
byname
結果:name 上機次數 (無列名)
秦雲 3 李大偉,馬化騰,李大偉
在路上 2 李大偉,馬化騰,李大偉
sqlserver游標的簡單例子
游標是sql 的一種資料訪問機制。可以將游標簡單的看成是查詢的結果集的乙個指標。可以根據需要在結果集上面來回滾動,瀏覽儲存需要的資料,以便以後使用。游標的結果集是有select語句產生,如果處理過程需要重複使用乙個記錄集,那麼建立一次游標而重複使用,比重複查詢資料庫要快。游標的使用一般遵循 五步法 ...
SQLServer游標的簡單使用
一 使用游標的幾個步驟 1 建立游標物件 在sql server中建立游標物件使用關鍵之declare 變數宣告 以及curosr 游標 declare 建立游標 cur cursor forselect user,pwd from usertable 2 開啟游標物件 游標物件建立之後,必須開啟之...
SQL Server游標的使用
declare cursor name cursor local global forward only scroll static keyset dynamic fast forward read only scroll locks optimistic type warning for sele...