Estou tentando avaliar 2 linhas de forma independente. por exemplo, verifique se linha1 = 4 AND
linha2 NÃO é igual a 2
A consulta que tenho não está funcionando. Acho que é porque estou dizendo que o nome da interface deve ter dois valores ao mesmo tempo. Posso fazer um sindicato aqui? ou isso não se aplica?
SELECT I.DisplayName, I.Status FROM Interfaces AS I
WHERE ( I.[InterfaceName] = 'GigabitEthernet1/0/2' AND I.[Status] = '4' ) AND ( I.[InterfaceName] = 'GigabitEthernet1/0/1' AND I.[Status] != '2' )
Aqui está um exemplo de tabela desses dois itens.
Se você está verificando se a tabela tem duas linhas que correspondem a alguma condição, você pode fazer o seguinte:
O OR corresponde às condições que você procura, o COUNT garante que você obtenha pelo menos dois valores.
Se você tiver duplicatas e quiser ter certeza de obter ambas as interfaces e não apenas duplicar uma interface, é um pouco mais complicado. Uma solução é:
ROW_NUMBER
cria um agrupamento de linhas por Interface, para o qual pegamos apenas uma, e depois agrupando-a em outraCOUNT(*) OVER()
você retorna mais uma vez as duas linhas distintas