从 SQL Server 中包含逗号分隔值的表中选择一个值

Ven*_*Deo 0 sql sql-server split

我有这两个表:

表格1:

在此处输入图片说明

表 2:

在此处输入图片说明

这两个表在 上连接ID

我将有 2 个参数,PersonResource,我必须选择相应的Order. Resource始终是唯一的,并且可能存储为 CSV。

示例:我将Person 3Resource 7作为输入,我应该得到Order 5作为输出。

这必须在 SQL Server 中完成,我不能使用STRING_SPLIT(兼容性问题)。

Tim*_*sen 5

您可以尝试使用一个技巧来比较资源的 CSV 字符串:

SELECT t1.[Order]
FROM Table1 t1
INNER JOIN Table2 t2
    ON t1.ID = t2.ID
WHERE
    t1.Person = 'Person3' AND
    ',' + t2.Resource + ',' LIKE '%,Res7,%';
Run Code Online (Sandbox Code Playgroud)

但是,正如评论中所提到的,最好不要在表中存储 CSV。