[SQL] 如何在子查詢中加入排序

其目標是將資料表欄位合併成一個欄位並以,做區隔
例如
[Amy,Bella,Cathy,Dana]

A的子查詢中,對姓名做排序

//TOP 2147483647 可以避免子查詢內排序的錯誤

WITH A AS( SELECT TOP 2147483647  * FROM [TB] ORDER BY  name) ,

//B子查詢分成兩部分,首先先將姓名以,合併
再將最後一個,去除

B AS( 
SELECT  DISTINCT
    M .name ,
    left(M.name ,len(M.name )-1) as  namelist withoutdot
  
 FROM  (SELECT name,(SELECT cast(value AS NVARCHAR ) + ',' from A where name= ord.name  FOR XML PATH('')) as namelist  from ord ) M  )

SELECT * FROM B




留言

這個網誌中的熱門文章

[HTML]標籤-下

論P, NP, NP-Complete, NP-Hard問題

[Python]基礎課程

[系統]解除電腦限制頻寬

[HTML]標籤-上

[AlaSQL] 多data查詢+累計

How to Check the MySQL Version

[SQL Sever] 日期時間

推薦使用的9款編程字體

類別型態 vs 基本型態