У меня следующая структура таблицы SQL «Товар»:
int Id
nvarchar(max) Details
Подробности содержат JSON строку со следующей структурой:
{
"Id": "10001",
"Description": "example description",
"Variants": [{
"Title": "ABC / no",
"Price": "10"
}, {
"Title": "ABC / Yes",
"Price": "20",
}, {
"Title": "ABC / Yes",
"Price": "30",
}]
}
Мне нужно написать запрос SQL, который просматривает таблицу и возвращает все варианты с определенным заголовком.
Следующая работа
Получить все строки из таблица, поле Details которой содержит специфик c title
SELECT * FROM Products
WHERE JSON_VALUE(Details, '$.Description') = 'example description'
Получить все строки из таблицы, в которой Details.Variants [0] .Title равно '{string}'
SELECT * FROM Products
WHERE JSON_VALUE(Details, '$.Variants[0].Title') = 'ABC / no'
Получить все идентификаторы из таблицы, где Details.Variants [0] .Title равно '{string}'
SELECT JSON_VALUE(Details, '$.Id')
FROM Products
WHERE JSON_VALUE(Details, '$.Variants[0].Title') = 'ABC / no'
Мне нужно получить все варианты из всех строк в таблице Product, где заголовок варианта равен '{string}'
В этой документации есть аналогичный пример, но я не могу заставить его работать в моем конкретном случае.
Также есть этот столбик