將一列包含多個ID拆分多行

2021-09-06 19:33:23 字數 2005 閱讀 8933

原文:

將一列包含多個id拆分多行

看到個不常見的問題~然後在 inner sql server2008 裡面找到乙個思路。

如果下面的表結構,如何拆分多行並對應員工號呢?

首先建立測試表

create

table

department

( id

intidentity(1,1) primary

key,

departmentname

varchar(50) null

, members

nvarchar(500) null

)create

table

employee

( id

intidentity(1,1) primary

key,

name

nvarchar(50) null

)insert

into department values('

行政','

1,3,5,10,12

'),('

銷售','

42,23,35,40,22

'),('

市場','

13,17,27,28,43')

select

*from dbo.department

employee 表的資料直接用個 sql generator生成一下下就好了~
--

然後搞個數字輔助表作備用

create

table #num (id int

)insert

into

#num

( id )

select

top500 row_number() over (order

by (select1))

from sys.objects a,sys.objects b

--為了方便看**,用個cte來寫。

ps: 上述語句其實優化空間是很大的,這裡只是提供給乙個方法~就暫時不糾結效率上羅~╭(╯3╰)╮

Pandas 如何將一列中的文字拆分為多行?

在資料處理過程中,經常會遇到以下型別的資料 在同一列中,本該分別填入多行中的資料,被填在一行裡了,然而在分析的時候,需要拆分成為多行。在上圖中,列名為 country index為4和5的單元格內,值為 uk australia 和 uk netherland 今天,我們來介紹將含有多值的內容分拆成...

一列多行合併一列一行

方法1 定義臨時的varchar變數,通過游標一條條讀取,然後在迴圈中改變臨時變數的值最終輸出 關於游標的方法,這裡再敘述。sql2008中的方法 create table tb id int,value varchar 10 insert into tb values 1,aa insert in...

一列拆分為多列

表1 col 11 22 33 22 33 44 33 55 44表2 col1 col2 col3 11 22 33 22 33 44 33 55 null 44 null null 就是要把表1轉化成表2的形式,但是表1中的col 例如11 22 33是我自己測試的,不確定有多少項組成。也可能出...