2011-03-10 5 views
0

각 테이블에는 약 10, 000 개의 행과 약 30 개의 열이 포함 된 약 15 개의 테이블이 있습니다. 내 사이트의 사용자가 부품 번호 또는 제품/설명을 검색하고 결과를 표시 할 수 있기를 바랍니다. 어떤 테이블이든 관계없이.하나의 쿼리로 여러 테이블 검색 (MySQL/PHP #)

각 제품 페이지는 해당 테이블의 이름과 동일합니다. 따라서 제품이 발견되면 올바른 페이지 (파일 이름은 테이블 이름)에 대한 링크 만 표시됩니다.

우리는 같은 것을 수행 할 수 없습니다 = "dbase.tables에서 $ Q를 찾아"

쿼리를; ?

그리고 $ q가 테이블에 있으면 발견 된 테이블의 이름을 반환 하시겠습니까?

도움을 주시면 감사하겠습니다.

고맙습니다.

답변

0

모든 테이블이 동일한 구조를 가지고 있다면 그렇게 할 수 있습니다. (이것은 단순한 수동 파티션 방식처럼 그 소리.)

Anway 여러 테이블을 조인 당신이 그 연결에보기 만들 수 있습니다

SELECT * FROM tbl1 
UNION ALL 
SELECT * FROM tbl2 
... 

을 사용할 수 있습니다 그리고 당신의 간단한 액세스 방법을 얻을 :

CREATE VIEW alltables AS 
    SELECT * ... UNION ... 

테스트를받지 않았습니다. 그러나이 견해는 SELECT * FROM alltables WHERE find($q)...을 촉진 할 것입니다. 물론 여전히 열의 유효한 쿼리가 필요합니다.

+0

오, 대단히 감사합니다 @ 마리오,보기 하나 훌륭하게 작동합니다! –

+0

@ 루시퍼 : 멋지다. 나는 이것이 그렇게 쉽게 작동 할 것이라고 기대하지 않았다.] – mario

+0

그것은 축복받지 못했다. 그러나 내가 그것을 본 마자 나는 전에 구입 한 책에서 mysql 연대에 대한 견해에 대해 읽은 것을 기억하고 나머지는 wwith 다른 쿼리와 함께 이미 가지고 있었다 :) –

0

왜 많은 테이블이 있습니까? 다른 설명 표보다 부품 번호가 하나 밖에없는 이유는 무엇입니까?

+0

내가 그렇게 한 경우 수백 개의 테이블이 있습니다. –

+0

테이블이 무엇인지 아십니까? 데이터베이스 구성 방법은 무엇입니까? – Neal

+0

제품 시스템의 구조가 너무 복잡하여 제안한 방식대로 테이블을 사용할 수 없습니다. –

관련 문제