SQL 歸並多行記載的雷同字段值。本站提示廣大學習愛好者:(SQL 歸並多行記載的雷同字段值)文章只能為提供參考,不一定能成為您想要的結果。以下是SQL 歸並多行記載的雷同字段值正文
1.從數據庫中先查詢相符前提的記載,寄存於一個DataTable中,在應用c#等開端遍歷這張表,應用DataRow中的主鍵,再去讀取響應的相符前提的多筆記錄,歸並這些第二次讀取到的記載內容,前往給後面的這個DataRow數據行。如許做沒有錯,然則假如數據量年夜,我們能夠面對有數次的翻開斷開數據庫鏈接,速度效力將會很低。
2.從數據庫中一次讀取數據到一張表中前往並顯示到UI層。說起來誰都想這麼做,然則之前太笨,沒有去研討這個,明天由於數據量較年夜的緣由,讓我不能不想些其他方法來進步點效力。
Google~hk一下,果真有謎底,然後依葫蘆畫瓢,本身寫了一個
目標是獲得不定量的相符前提的兼職記載,並將每一個兼職介入項目情形記載到某幾個字段傍邊,然後一次前往Table
Create function Fn_GetJobListByPID--創立自界說函數獲得指定兼職介入的一切項目編號及項目數目
(
@ParttimerID int
)
returns @t table(Jobs varchar(5000),ParttimerID int,TotalCount int)
as
begin
declare @sql varchar(5000),@TotalCount int
set @sql=''
set @TotalCount=0
select @sql=@sql+j.JobNo+'-'+j.JobWave+' ',@TotalCount=@TotalCount+1
from ONJB_JobApplication a,ONJB_Jobs j
where a.ParttimerID=@ParttimerID
and a.Result='V'
and a.JobID=j.JobID
insert @t values(@sql,@ParttimerID,@TotalCount)
return
end
援用
--...........................
--做過項目
left join (select Jobs,ParttimerID,TotalCount From Fn_GetJobListByPID(@ParttimerID)) as j1
on p.ParttimerID=j1.ParttimerID
--在做項目
left join (select CurJobs,ParttimerID,CurCount From Fn_GetCurJobsByPID(@ParttimerID)) as j2
on p.ParttimerID=j2.ParttimerID
where p.ParttimerID=@ParttimerID