2011-12-03 2 views
0

동일한 열 이름을 가진 여러 테이블 (8)이 있습니다. 각 테이블은 사이트입니다. 어떤 table.column이 특정 값을 가지고 있는지보기 위해 검색 할 수 있기를 원합니다. 즉. table.subnet = '10 .3.30.x '. 미리 감사드립니다.특정 값에 대해 여러 테이블 열을 검색하십시오.

+0

을? 우리의 대답이 도움이되는지 알면 좋을 것입니다. – codeling

답변

1

UNION ALL 키워드를 확인하십시오. 나는 당신이하고 싶은 것은이 같은 것입니다 같아요.

(SELECT 'table1', table1.* FROM table1 where subnet = '10.3.30.x') 
UNION ALL 
(SELECT 'table2', table2.* FROM table2 where subnet = '10.3.30.x') 
UNION ALL 
... 
(SELECT 'table7', table7.* FROM table7 where subnet = '10.3.30.x') 
UNION ALL 
(SELECT 'table8', table8.* FROM table8 where subnet = '10.3.30.x') 

그런 식으로, 서브넷 값이 행이 등장 테이블의 이름과 함께, 지정된 값을 모든 열을 것이다 당신의 결과

1

단일 쿼리에서 모든 값을 얻기 위해 UNION을 사용할 수 있습니다 : 아직도이

SELECT 'table1', subnet FROM table1 WHERE subnet = '10.3.30.x' 
UNION 
SELECT 'table2', subnet FROM table2 WHERE subnet = '10.3.30.x' 
UNION 
SELECT 'table3', subnet FROM table3 WHERE subnet = '10.3.30.x' 
UNION 
SELECT 'table4', subnet FROM table4 WHERE subnet = '10.3.30.x'; 
관련 문제