나는 6 개의 테이블을 가지고있다. 그것들을 a, b, c, d, e, f라고 부르 자. 이제 특정 단어에 대한 모든 테이블의 모든 열 (ID 열 제외)을 검색하려고합니다. 'Joe'라고합시다. 내가 한 일은 모든 테이블에 걸쳐 INNER JOINS를 만든 다음 LIKE을 사용하여 열을 검색하는 것입니다.INNER JOIN 쿼리에서 카디 전 곱을 피하는 방법은 무엇입니까?
INNER JOIN
...
ON
INNER JOIN
...
ON.......etc.
WHERE a.firstname
~* 'Joe'
OR a.lastname
~* 'Joe'
OR b.favorite_food
~* 'Joe'
OR c.job
~* 'Joe'.......etc.
결과가 정확합니다. 찾고 있던 모든 칼럼을 얻었습니다. 그러나 어떤 종류의 데카르트 제품도 얻었습니다. 거의 같은 결과로 2 개 이상의 라인을 얻었습니다.
어떻게 피할 수 있습니까? 결과가 웹 검색에 나타나야하므로 각 줄을 한 번만 갖고 싶습니다.
내가 처음 SELECT DISTINCT
것은이 문을 사용하여 작업 할 것인지 알아 내기 위해 노력
UPDATE : pastie.org/970959를하지만 여전히 나에게 카티 제품을 제공합니다. 이게 뭐가 잘못 됐어?
사용하는 데이터베이스를 지정하십시오. – hgulyan