我有一个表,其中有一列包含逗号分隔列表中的值,如下所示:
| ObjectID (int) | Column1 (nvarchar(max))|
| 1 | 152, 154, 157, 158 |
| 2 | 101, 154, 155 |
| 3 | 97, 98, 99 |
我需要选择具有 Column1 的所有 ObjectID,以及在特定字符串中找到的所有整数值:'155、154'。这样,应该只返回 ObjectID = 2 的行,因为它的 Column1 字符串中同时包含 155 和 154 个整数。
我正在尝试这样的事情:
DECLARE @SearchString nvarchar(max) = '155,154';
SELECT *
FROM ObjectsTable
WHERE EXISTS
(SELECT Data FROM dbo.SplitString(Column1, ',')
WHERE Data = ALL (SELECT Data FROM dbo.SplitString(@SearchString, ',')))
但不幸的是,它没有为我返回任何记录。如果可能的话,知道我该如何处理吗?