SQL 欄位裡有逗號隔開的資料的取值

2022-02-15 05:51:46 字數 1159 閱讀 6433

table 1 :                    

id code

1 001

2 001,002

3 001,002,003

table 2:

code name

001 數學

002 體育

003 美術

要求結果

id name

1 數學

2 數學,體育

3 數學,體育,美術

--

測試資料

with table1(id,code) as

(select

1,'001

'union

allselect

2,'001,002

'union

allselect

3,'001,002,003'),

table2(code,name) as(

select

'001

','數學

'union

allselect

'002

','體育

'union

allselect

'003

','美術')

--用charindex和for xml path實現批量替換的功能,適用於sql server 2005及以上版本

select table1.id,stuff

((

select',

'+table2.name from

table2

where

charindex(','

+table2.code+',

',',

'+table1.code+',

')>

0order

bytable2.code

for xml path(''

) ),

1,1,'') as

name

from table1

SQL匯出txt檔案欄位用逗號 ,隔開

最近客戶要匯出部分交易明細,格式如下的txt,通過查詢具體sql如下,可以用dbvisualizer或pl sql匯出。主要是sql拼接方法 匯出形如 04,832005 20141231 234915 23000,1 04,832027 20141231 235427 560 1 的txt檔案,具...

mysql處理以逗號隔開的字段內容

有乙個字段儲存了checkbox內容,比如職業目標選擇對於資料庫欄位otworkgoal,儲存了1,2,3,4內容 現在需要使用純mysql語句,將字段otworkgoal根據內容,進行翻譯成中文的內容。可使用find in set 函式 concat ws 函式實現。find in set 可參考...

mysql 拆分以逗號隔開的字段並應用在in查詢

利用substring index及笛卡爾積來迴圈拆分sql欄位 首先建立幾條資料 idvalue computer 5,ddd,eee phone 12,3333,11 pipe 234 假如我們需要查詢的字段in phone欄位的值 12,3333,11 我們可以用一下方法 準備示例資料 cre...