SQL server 一對多,表字段中存了id,並以逗號分隔,id對應的詳細信息在另一個表中.行轉列,列轉行


附帶MySQL用法鏈接:

https://www.cnblogs.com/w-yu-chen/p/11428090.html

進入正題:

一、SQLserver用法,這里只提供解決辦法,原理請翻閱文檔

特別注意:CHARINDEX 函數前面不要加空格,SqlServer2012已修復,2008存在問題

SELECT
    '修改' AS edit,
    '刪除' AS del,
    t.stzk,
    stuff((select ','+dictname 
    from sys_dict_item d 
    where groupid='sfdjb_stzk' and CHARINDEX(','+CONVERT(VARCHAR,d.dictid),','+t.stzk)>0 for xml path('')),1,1,'') as stzkname

FROM
sfdjb_wgy t 
WHERE t.zt_dm = '1' AND t.tjzt = '1'
AND t.orgid like  '37.03.04%'
ORDER BY
    t.lrsj DESC,
    t.stzk DESC

二、效果:

 


免責聲明!

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



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