2 개의 다른 데이터베이스가 있습니다. 둘 다 과일이라고 불리는 테이블이 있습니다. 이제 첫 번째 데이터베이스와 관련하여 두 번째 데이터베이스를 업데이트하려고합니다. 이를 위해 각 행을 첫 번째 데이터베이스의 모든 열 값 (ID 열 제외)과 두 번째 데이터베이스의 각 행과 비교하여 차이가있는 행을 가져옵니다. 내가 사용하고있는 쿼리는2 개의 다른 데이터베이스에있는 2 개의 테이블의 행을 비교하십시오.
SELECT A.* FROM db1.Fruit A
Left Outer Join Fruit B ON
(A.Ratings = B.Ratings AND A.Name = B.Name AND A.Color = B.Color)
where B.Ratings IS NULL OR B.Name IS NULL OR B.Color IS NULL
Table in the first databaseTable in the second database입니다.
결과적으로 이름이 키위이고 색이 녹색 인 ID가 3 인 행이 표시되어야합니다. 그러나 그것은 또한 다른 열이 null 인 바나나 이름으로 ID 4를 가진 행을 보여 주며 내 쿼리에서는 그 행을 반환합니다 (B.Ratings IS NULL or B.Color IS NULL
인 경우).
따라서 ID 열을 제외한 모든 열에 의해 표 1의 1 행 1 열을 표 2의 1 행과 비교하고 열 값에 불일치가있는 행을 반환하는 다른 방법이 있습니까?
안녕하세요. 코드는 영어로 번역하는 대신 코드를 읽을 때 가장 잘 이해할 수 있습니다. [MCVE]를 제공해주십시오. – user463035818