2009-11-23 11 views
1

PK와 FK를 사용하여 일부 테이블이 링크 된 단일 쿼리를 사용하여 db의 모든 테이블에서 레코드를 가져 오는 더 쉬운 방법이 있는지 묻고 싶습니다.Mysql : 모든 테이블에서 결과 얻기

예를 들어, 내가 '트럭', '자전거', '자동차'를 가지고있는 아래로 하락 등

나는 자동차를 선택

, 난 단지 자동차 테이블에서 결과를 얻을 수 있습니다.

하지만 이제는 그 드롭 다운에 'All'을 추가하여 검색 쿼리의 모든 테이블에서 결과를 가져 오는 것을 의미합니다.

어떻게해야합니까?

+0

주어진 기준에 대한 전체 DB를 통해 검색 할 수있는 클래스가 존재하는 경우가 이상적 일 것이다! – Sarfraz

답변

2

당신이 사용할 수있는 UNION :

SELECT * FROM cars UNION 
SELECT * FROM bikes UNION 
SELECT * FROM trucks; 
0

하나의 테이블에 두 번째 테이블을 참조하는 외래 키가 포함되어 있으면 조인을 사용할 수 있습니다. 테이블의 DDL을 게시하고 원하는 결과를 자세히 설명하십시오.

0

세 가지 테이블 인 자동차, 자전거 및 트럭이 하나의 테이블 차량으로 결합되도록 데이터베이스 구조를 변경하여 차량 유형을 나타내는 추가 열을 추가 할 수도 있습니다.

또 다른 가능성은 동일한 것을 수행하는보기를 만드는 것입니다. 세부 사항을 제안 할 것이지만 테이블과 키 정의를 볼 필요가 있습니다.

관련 문제