각 테이블의 동일한 2개 필드에 대해 여러 mysql 테이블을 검색합니다.

각 테이블의 동일한 2개 필드에 대해 여러 mysql 테이블을 검색합니다.

mysql 테이블에서 동일한 2개 필드를 검색하는 방법을 알아내려고 합니다. 내가 가진 것은 동일한 데이터베이스에 두 개의 테이블이 있습니다. 내가 현재 가지고 있는 것은 다음과 같습니다:-

단일 검색이 제대로 작동함

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

반환된 결과는 양호하고 예상됩니다.

동일한 항목을 검색하기 위해 두 테이블을 병합하려고 시도했지만 오류는 발생하지 않지만 동시에 "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')   

그러나 다음 "OR"을 사용하면 결과가 나오지만 예상한 결과가 나오지 않고 확인된 값 1과 0도 얻지만 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')  

어떤 지침이 있나요?

답변1

다음을 사용하여 답을 찾았습니다 UNION.

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

관련 정보