Problema de pesquisa no servidor SQL
-
27-09-2019 - |
Pergunta
Preciso pesquisar em uma tabela para itens que têm todos os meus valores desejados em uma coluna, ou seja, eu tenho tabela:
ID : 1 2 3 3 2 2 2 1 1 3
VALUE : 5 6 5 3 6 7 2 1 9 0
Quero dar a um StoredProc uma lista de valores, por exemplo ("6,7,2") e me retorna todos os IDs que têm todos os valores fornecidos neste caso, só retornaria 2
Se eu quisesse procurar aqueles que pelo menos tenham um dos valores que sei que poderia usar "em", mas para ter todos os valores, não encontrei nada.
Agradeço antecipadamente
Afshin Arefi
Solução
No SQL Server 2008, você pode usar Parâmetros de valor da tabela.
Isso permite que você passe uma tabela de valores para um procedimento armazenado e o trate como qualquer outra tabela (use em sub-questões, junções etc.).
Em termos de consulta - se você usar um parâmetro de valor da tabela, poderá consultar o tamanho (quantas linhas), use IN
em conjunto com um GROUP BY
no ID
campo e a HAVING
Isso conta o número de linhas.