2017-04-25 3 views
1

두 개의 테이블 (Student1, Student2)을 결합하려고합니다.테이블 _name 열이있는 두 테이블의 조합

1 - Student1

| student_code | name | 
-------------------------- 
| 1   | katia | 
| 2   | roger | 
| 3   | ken | 

2 - Student2

| student_code | name | 
-------------------------- 
| 3   | katia | 
| 4   | roger | 
| 5   | ken | 

는이 같은 결과를 얻을합니다. 난 단지는 ANSI SQL을 사용하려는

|table_name| student_code | name | 
------------------------------------- 
|Student1 | 1   | katia | 
|Student1 | 2   | roger | 
|Student1 | 3   | ken | 
|Student2 | 3   | katia | 
|Student2 | 4   | roger | 
|Student2 | 5   | ken | 

결과. union all뿐만 아니라 중복 행을 가져올 것이다 동안

답변

1
select 'Student1' AS table_name,student_code,name from student1 
union 
select 'Student2' AS table_name,student_code,name from student2 

난 당신이 UNIONUNION ALL의 차이를 알고 있다고 가정, union 독특한 기록을 제공합니다, 그것은 UNION PERFORMED ON SETS과 동일합니다.

경우에 따라 행을 구별하는 첫 번째 열 때문에 공용체에서도 중복이 발생합니다.

+0

감사를 사용할 수 있습니다! 그것은 매우 도움이되었습니다. – hyeon

+0

환영합니다 ... 관련 답변을 대답으로 표시하십시오. –

4

당신은

SELECT 'Student1' AS table_name, student_code, name FROM Student1 
UNION ALL 
SELECT 'Student2' AS table_name, student_code, name FROM Student2 
0
Use UNION ALL statement : 

SELECT 'Student1' as table_name, student_code, name FROM Student1 
UNION ALL 
SELECT 'Student2' as table_name, student_code, name FROM Student2