您好,登錄后才能下訂單哦!
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
看完上述內容,你們掌握SQL中怎么合并多行記錄的相同字段值的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。