Tentando construir uma consulta SQL simples... Tenho uma tabela preenchida com "Sim" e "Não"
Eu quero uma exibição que mostre apenas registros que contenham "Não"
SELECT PhysicalBuild.Name AS Name,
PhysicalBuild.Labels AS Labels,
PhysicalBuild.DNSDRAC AS DNSDRAC,
PhysicalBuild.DNSHOST AS DNSHOST,
PhysicalBuild.PRTGDRAC AS PRTGDRAC,
PhysicalBuild.PRTGHOST AS PRTGHOST,
PhysicalBuild.LouKVM AS LouKVM,
PhysicalBuild.SwitchPorts AS SwitchPorts,
PhysicalBuild.FiberSwitch AS FiberSwitch
FROM PhysicalBuild
Mas eu quero que seja WHERE * = "No" ou algo nesse sentido .... minha sintaxe está incorreta. alguém?
EDIT: Eu vim com isso. Existe uma maneira mais limpa/fácil de lidar com isso? Que tal uma maneira de alterar os registros que contêm "Sim" para NULL para que não sejam exibidos? Então, apenas os nãos são mostrados?
SELECT PhysicalBuild.Name AS Name,
PhysicalBuild.Labels AS Labels,
PhysicalBuild.DNSDRAC AS DNSDRAC,
PhysicalBuild.DNSHOST AS DNSHOST,
PhysicalBuild.PRTGDRAC AS PRTGDRAC,
PhysicalBuild.PRTGHOST AS PRTGHOST,
PhysicalBuild.LouKVM AS LouKVM,
PhysicalBuild.SwitchPorts AS SwitchPorts,
PhysicalBuild.FiberSwitch AS FiberSwitch
FROM PhysicalBuild
WHERE (PhysicalBuild.Labels = 'No') OR
(PhysicalBuild.DNSDRAC = 'No') OR
(PhysicalBuild.DNSHOST = 'No') OR
(PhysicalBuild.PRTGDRAC = 'No') OR
(PhysicalBuild.PRTGHOST = 'No') OR
(PhysicalBuild.LouKVM = 'No') OR
(PhysicalBuild.SwitchPorts = 'No') OR
(PhysicalBuild.FiberSwitch = 'No')
O que você tem é o mais simples e direto.
Para alguns RDBMS, você pode criar uma coluna computada no nível da tabela.
Então sua consulta é
Nota: você não precisa de aliases iguais ao nome da coluna...