Existe uma maneira inteligente de contar quantas variáveis equivalem a algum valor de destino (no SQL Server)?
Por exemplo, se eu tiver:
declare @a int = 1;
declare @b int = 2;
declare @c int = 1;
declare @target int = 1;
Então eu gostaria de fazer quantos @a, @b, @c
eqauls @target
.
Em linguagens imperativas, é fácil criar um array inline das variáveis e, em seguida, contá-las - por exemplo, em JS:
var a = 1, b = 2, c = 2, target = 1;
if ([a, b, c].filter(item => item == target).length == 1)
// do something
O equivalente em SQL dessa "matriz inline" seria uma tabela de coluna única, mas isso exigiria o uso DECLARE TABLE
de , o que eu gostaria de evitar.
Existe um método igualmente fácil para tal contagem em SQL?
Observe que estou menos interessado em "criar uma tabela sem declará-la" - o que realmente me importa é a contagem de variáveis em relação a uma variável de destino, portanto, se isso puder ser feito sem usar tabelas, seria melhor.
Que tal esta solução?