Я расширяю функциональность поиска, и мне нужно добавить поиск по нескольким значениям в предложении IN.Итак, у меня есть текстовое поле и напишите в нем некоторое число.Это динамическая функциональность, которая может добавить синтаксис запроса к предложению WHERE
в sql и должна добавляться только при поиске.
Допустим, мы поместили 1056 в наше текстовое поле для его поиска.
SELECT
*
FROM
QueryTable
WHERE
(Select ID from SearchTable Where Number='1056') IN
(SELECT value FROM OPENJSON(JsonField,'$.Data.ArrayOfIds'))
Это работает правильно, потому что поиск идентификатора в SearchTable
возвращает одну строку, но я хочу, чтобы она работала, когда возвращает несколько строк, что-то вроде этого:
(Select ID from SearchTable Where Number like '%105%')
Это очевидно даетошибка, потому что возвращает несколько записей. Каков подход для поиска нескольких значений (или массива значений) в предложении IN.