2013-09-04 3 views
1

UNION을 사용하여 2 개의 테이블에서 레코드를 가져 오려고합니다. 각 레코드에 어떤 테이블이 속해 있는지 알려주는 필드를 어떻게 추가 할 수 있습니까? 단지 다음과 같은 것입니다 :MySQL : UNION 결과에 어떤 레코드가 속해 있는지 알 수있는 방법

id  | title  | link   | table 
----------------------------------------------------- 
1  | Title 1  | somelink.html | articles1 
2  | Title 2  | link2 .html | articles2 
3  | Title 3  | link3 .html | articles1 

미리 감사드립니다.

답변

3
select some_column, 'union_1' as from_where 
from table1 
union 
select some_column, 'union_2' as from_where 
from table2 
1

당신은

SELECT Col1, Col2, 'Table1' TableSource 
FROm Table1 
UNION ALL 
SELECT Col1, Col2, 'Table2' TableSource 
FROm Table2 

UNION ALL에 대한 이해/작동 식으로 뭔가를 시도 할 수 있지만 중복은 다음 포함됩니다대로 인해 차별화 된 소스 컬럼, UNION를 사용하는 경우 오해의 소지가있을 수 있습니다. 수정

SELECT *, 'articles1' AS table_name FROM articles1 
UNION ALL 
SELECT *, 'articles2' AS table_name FROM articles2 
+0

@juergend, 감사 : –

1

는 것처럼, 당신의 UNION에 넣어.
관련 문제