Procurando múltiplas tabelas mysql pelos mesmos 2 campos em cada tabela

1

Eu estou tentando descobrir como pesquisar tabelas do mysql pelos mesmos 2 campos. O que eu tenho é de 2 tabelas no mesmo banco de dados. Abaixo está o que eu tenho atualmente: -

busca única funciona ok

SELECT *  FROM 'table1' WHERE 'acked' != 1 AND 'host_status' = 'HOSTDOWN'

retorna resultados que são bons e esperados.

Considerando que tentar combinar as duas tabelas procurando o mesmo, embora não cometa erros, mas ao mesmo tempo não retorna nenhum resultado que eu possa entender como estou usando 'AND'

SELECT 'table1'.*, 'table2'.*
FROM table1, table2
WHERE ('table1'.'acked' != '1' AND 'table1'.'host_status' = 'HOSTDOWN')
AND ('table2'.'acked' != '1' AND 'table2'.'host_status' = 'HOSTDOWN')   

Mas se eu usar o seguinte usando 'OR' eu obtenho resultados, mas não os resultados esperados, eu também obtenho o valor acked de 1 e 0, mas com o host_status do HOSTUP

SELECT 'table1'.*, 'table2'.*
FROM table1, table2
WHERE ('table1'.'acked' != '1' AND 'table1'.'host_status' = 'HOSTDOWN')
OR ('table2'.'acked' != '1' AND 'table2'.'host_status' = 'HOSTDOWN')  

quaisquer ponteiros?

    
por Sean 21.06.2013 / 15:36

1 resposta

1

Eu encontrei a resposta que era usar UNION :

SELECT * FROM 'table1' WHERE 'acked' != 1 AND 'host_status' = 'HOSTDOWN' UNION 
SELECT * FROM 'table2' WHERE 'acked' != 1 AND 'host_status' = 'HOSTDOWN'
    
por 21.06.2013 / 19:19

Tags