Sql 拆分并展开一列中包含连接数据的表

Sql 拆分并展开一列中包含连接数据的表,sql,sql-server,sql-server-2017,Sql,Sql Server,Sql Server 2017,我正在使用SQL Server 2017: 我有这张桌子: IdProduct | IdProducers -----------+------------ A | 1,2,4 B | 2,5 我想得到这个结果: IdProduct | IdProducer -----------+----------- A | 1 A | 2 A | 4 B | 2 B | 5

我正在使用SQL Server 2017:

我有这张桌子:

IdProduct  | IdProducers
-----------+------------
A          | 1,2,4
B          | 2,5
我想得到这个结果:

IdProduct  | IdProducer
-----------+-----------
A          | 1
A          | 2
A          | 4
B          | 2
B          | 5

什么是最佳解决方案

你可以写如下:

SELECT IdProduct ,value  
FROM Product  
    CROSS APPLY STRING_SPLIT(IdProducers, ',');

最佳的解决方案是你可以试一试,当你陷入困境时,发布你的尝试。所以这不是一个代码编写服务。这个问题被问得太多了,我在这里无法指望。