私は今まで私のために働いている次のクエリを持っています。
with tmp(product_id , Token, product_name) as (
select product_id, cast ( LEFT(product_name, CHARINDEX(' ',product_name+' ')-1) as varchar(100)),
STUFF(product_name, 1, CHARINDEX(' ',product_name+' '), '')
from Products
union all
select product_id, cast (LEFT(product_name, CHARINDEX(' ',product_name+' ')-1) as varchar(100)),
STUFF(product_name, 1, CHARINDEX(' ',product_name+' '), '')
from tmp
where product_name > ''
)
select product_id, Token from tmp
これにより、製品名がスペースで分割され、レコードとして提供されます。
しかし今、製品名をスペースだけでなく、スペース、ハイフン、コンマで区切る必要があります。これを達成する方法がわかりません。
どんな種類の助けも常に感謝しています。
編集 - 例
製品テーブルに次のものが含まれている場合
product_id, product_name
1, JVC-600.BLACK
2, M cb-588
それから私は必要です
product_id, token
1, JVC
1, 600
1, BLACK
2, M
2, cb
2, 588
結果として。