2012-12-06 12 views
1

데이터베이스의 다른 테이블에 3 개의 열이 있습니다. 테이블 이름과 숫자는 무엇이든 될 수 있으므로이 세 열의 데이터를 가져 오기 위해 쿼리를 작성할 수 없습니다.데이터베이스에서 모든 테이블의 데이터를 가져 오는 방법

쿼리 :

SELECT first_name, last_name 
FROM (table names) 
WHERE email="[email protected]" 

이 저를 도와주세요. 당신은이 작업을 수행 할 수

감사합니다,

에드워드

+2

아직 시도한 것이 있습니까? – Ric

+2

이 모든 테이블의 합집합을 얻으려고하십니까? 그렇다면 조합 키워드 – Kek

+1

을보아야합니다. http://stackoverflow.com/questions/4232626/posgresql-how-to-union-3-tables-sorted-by-date – Lojko

답변

0

:

SELECT first_name, last_name, FromWhichTable 
FROM 
(
    SELECT first_name, last_name, email, FromWhichTable = 1 FROM table_name1 
    UNION ALL 
    SELECT first_name, last_name, email, 2     FROM table_name2 
    UNION ALL 
    SELECT first_name, last_name, email, 3     FROM table_name3 
) t 
WHERE email="[email protected]" 
2

당신은 당신의 SQL 문을 동적으로 구축 할 수 있습니다. 뭔가 유사로 :

DECLARE의 @SQL VARCHAR (4000)

SET의 @SQL = 'SELECT FIRST_NAME, FROM LAST_NAME .... 등'

EXEC (@SQL)

그래서 가정 사용할 테이블 이름이 매개 변수로 전달되거나 다른 곳에서 조회 된 경우 @SQL 변수에 작성한 쿼리에이를 포함시킬 수 있습니다.

관련 문제