Eu tenho a seguinte consulta que gostaria de adicionar uma cláusula where em um campo json, Abaixo está meu json que eu filtro com base em uma lista de categorias, no exemplo abaixo, existem 3 categorias e se eu passar em 7,9, Quero que o registro abaixo seja incluído na minha lista.
Acho que não tenho certeza de como seria minha cláusula where para json e seria eficiente
TSql
SELECT TOP 1 *
FROM Tweets
WHERE IsProcessed = 0 AND HasEvents = 1
AND --Json filter
ORDER BY TweetDate DESC
Json
{
"Dates":{
"DateTimeResults":[
{
"DateTime":"2014-03-20T00:00:00-04:00",
"UtcOffsetMinutes":0,
"Text":"today",
"Timex":"2014-03-20"
}
]
},
"Categories":[
7,
9,
12
]
}
Algo assim:
Você pode persistir as categorias como uma coluna computada como esta:
Mas não tenho certeza de que seria significativamente mais eficiente.