SQL:數據表給定字段的多行記錄的合並


     最近的報表中有個需求,用戶需要看到屬於某個客戶的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

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM