2014-11-26 3 views
0

PHP MYSQL을 사용하여 같은 구조의 테이블을 한 번에 쿼리하려고했습니다. 내가 직면 한 도전적인 부분은 거기에 얼마나 많은 지 알 수없는 x 테이블을 쿼리하는 것이 었습니다. (사용자가 UI 관점에서 테이블을 선택할 것으로 가정). 그 이유는 이들을 CSV 형식으로 출력하기 위해서입니다. 예를 들어동일한 구조를 가진 쿼리 여러 테이블

: -

Date, xTable, yTable, zTable, .... 
==============================b 
bla  1  2  3 
bla  4  3  5 
... 
... 

어떻게 위의 요구에 부응하기 위해 쿼리 아래 수정할 수 있습니다? (쿼리는 다중 테이블을 쿼리하기에 충분히 유연해야합니다.)

SELECT created_dt, BETWEEN WHERE created_dt needToQueryMultiTable FROM xTable? 그리고?

+1

각 테이블에서 1 열을 쿼리 하시겠습니까? – radar

+0

지금 2 열. –

+0

http://stackoverflow.com/questions/409705/mysql-selecting-data-from-multiple-tables-all-with-same-structure-but-differen?rq=1 – user3526

답변

1

당신은 모든 가능한 테이블의 뷰를 만들 수 있습니다

create v_tables as 
    select 'table1' as which, t.* 
    from table1 t 
    union all 
    select 'table2' as which, t.* 
    from table2 t 
    . . .; 

그런 다음보기에서 선택할 수 있습니다.

모든 테이블을 읽을 필요가 있기 때문에 MySQL에서 특히 효율적이지는 않습니다. 그러나 작은 테이블의 경우 이는 합리적인 해결책이 될 수 있습니다.

데이터베이스에 테이블이 동일하게 구성된 이유는 무엇입니까? 일반적으로 이들은 하나의 테이블로 결합되어야합니다. 성능을 위해 테이블을 분할 할 수 있습니다.

+0

그 경우에 해당됩니다. 어떤 표의 열을 인식 할 수 없습니까? –

+0

@EricT. . . 나는 당신의 의견을 이해하지 못합니다. 모든 테이블의 구조가 같아서 같은 열 이름을 가지고 있다고 가정합니다. –

+0

내가 노조를 할 때 모든 데이터를 병합하여 데이터가 어떤 테이블에 있는지 알 수 없다. csv 형식은 테이블 단위로 데이터를 인식해야한다고 말했 으면합니다. –

관련 문제