Напишите функцию или регулярное выражение, которое будет разбивать строку в SQL - PullRequest
0 голосов
/ 11 марта 2019

У меня есть в таблицах SQL значения таким образом:

Id GameId GameSupplierId
1  1      NULL
2  2      NULL
3  3      1
4  3      2
5  3      3

Я хочу фильтровать в процедуре SQL по GameId, и если есть поставщик GameSupplierId тоже поставщиком.Я получу строку с моей веб-страницы в формате GameID;GameSupplierId.Например:

1; NULL
2; NULL

или если есть GameSupplier тоже

3;1
3;1,2

Также я хочу иметь несколько вариантов выбора, например, так:

1,2,3;1,2

В моемSQL-запрос я буду фильтровать как WHERE @GameID = Table.GameID (and also to check @GameSupplierId IN (,,,))

1 Ответ

0 голосов
/ 11 марта 2019

Просто добавьте нужные столбцы в ORDER BY:

ORDER BY t.GameId, t.GameSuplierId

Например:

DECLARE @table TABLE 
(
    ID INT,
    GameId INT,
    GameSuplierId INT NULL
)

INSERT INTO @table
(
    ID,
    GameId,
    GameSuplierId
)
VALUES
  (1,  1,      NULL)
, (2,  2,      NULL)
, (3,  3,      1)
, (4,  3,      2)
, (5,  3,      3)

SELECT 
*
FROM @table t
ORDER BY t.GameId, t.GameSuplierId
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...