好的,所以你真正需要的是將PRNO列的內容拆分成行和將其加入原始表格。
這將是表:
declare @t table (NO varchar(20), EXECQTY varchar(20), PRNO varchar(100))
insert @t values ('WDNSLR/1', '10', '~PRSLR/00001~,~PRSLR/00002~,~PRSLR/00003~,~PRSLR/00004~')
,這將是代碼:
select t.no, t.execqty, replace(f.item, '~', '') as prno
from @t t
cross apply (
select
item = ltrim(rtrim(substring(t.prno, [number],
charindex(',', t.prno + ',', [number]) - [number])))
from (select number = row_number() over (order by name) from sys.all_objects) as x
where number <= len(t.prno) and substring(',' + t.prno, [number], len(',')) = ','
) f
這是自包含的,但我會建議使用實數表,而不是創建序列每飛行時間。而且,子查詢可以很容易地轉換爲UDF。
是此專欄名稱「否」「EXECQTY」「PRNO」 – TheGameiswar
是和PRNO包含多個值 –