SQL 資料表給定欄位的多行記錄的合併

2021-09-06 06:08:48 字數 866 閱讀 3162

最近的報表中有個需求,使用者需要看到屬於某個客戶的order的所有的items,這些屬於某個order的items需要歸併為乙個字段記錄。

首先是對兩個表的描述,乙個是orderhead,乙個是orderdetails,乙個客戶(debtor)有多個order,乙個order有乙個或多個item。

orderhead表與orderdetails表通過order_no進行關聯。

orderhead表如下:

orderdetails表如下:

使用者需要達到的效果如下圖:

我們的ms sql語句如下:

select oh.order_no,

(select od.item

+','from  orderdetail od

where ((item

<> n

'/c')

and (item

<> n

'/f'))  

--此處我們加入了其它篩選條件以進一步過濾不符合要求的items記錄

and od.order_no

=oh.order_no 

for xml path(

''))

as items

from orderhead

as oh

資料庫查詢給定欄位的多行記錄的合併

最近在寫資料庫查詢的時候碰到一些問題,建表的時候建了三張實體表,兩張關係表,還是貼出來吧 student course表 student表 course表 class student表 class表 五個表聯合查詢,以學生為主題,把學生的班級和所選的課程全部顯示出來,結果是這樣的 一開始我寫了n多查...

SQL動態為資料表新增字段

把變數字段動態新增至資料表中,為了演示這個例子,首先建立乙個臨時表,這個臨時表只產生乙個identity欄位,begin ifobject id dbo dummytable isnot null drop table dbo dummytable create table dbo dummytab...

qt 獲取sql資料表的所有的字段

1 mysql 資料庫 mysql安裝成功後可以看到已經存在mysql information schema和test這個幾個資料庫。information schema庫中有乙個名為columns的表,這個表中記錄了資料庫中所有表的字段資訊。知道這個表後,獲取任意表的字段就只需要一條select語...