【轉】sql 一對多情況下 Group by分組 結果多列合並


 部分原始表數據

需求: 按routineId進行group分組

 

初步想法(錯誤):

select r *

from autowork.dbo.PartOnRoutine
where routineId='1050' or routineId='1060'

group by routineId;

難點:一個routineId對應多個part,需先將part合並,再分組

解決:xml

 

select routineId,(select [partnr]+',' from autowork.dbo.PartOnRoutine

for XML PATH('')) AS PARTNRS
from autowork.dbo.PartOnRoutine
where routineId='1050' or routineId='1060'

group by routineId;

結果:

 


免責聲明!

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



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