Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 将两个表与表名称列合并_Sql_Ansi Sql - Fatal编程技术网

Sql 将两个表与表名称列合并

Sql 将两个表与表名称列合并,sql,ansi-sql,Sql,Ansi Sql,我想合并两张桌子(Student1,Student2) 1-学生1 | student_code | name | -------------------------- | 1 | katia | | 2 | roger | | 3 | ken | 2-学生2 | student_code | name | -------------------------- | 3

我想合并两张桌子(Student1,Student2)

1-学生1

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

| student_code |  name   |  
--------------------------
| 3            |  katia  |   
| 4            |  roger  |   
| 5            |  ken    | 
然后我想得到这样的结果

结果

|table_name| student_code |  name   |  
-------------------------------------
|Student1  | 1            |  katia  |   
|Student1  | 2            |  roger  |   
|Student1  | 3            |  ken    | 
|Student2  | 3            |  katia  |   
|Student2  | 4            |  roger  |   
|Student2  | 5            |  ken    | 
我只想使用ANSI sql

 select 'Student1' AS table_name,student_code,name from student1
 union
 select 'Student2' AS table_name,student_code,name from student2
我假设您知道
UNION
UNION ALL
之间的区别,
UNION
带来唯一的记录,这与对集合执行的
UNION
相同,而
UNION ALL
也会带来重复的行

在您的情况下,即使使用union,它也会带来重复项,因为第一列区分了行

我假设您知道
UNION
UNION ALL
之间的区别,
UNION
带来唯一的记录,这与对集合执行的
UNION
相同,而
UNION ALL
也会带来重复的行

在您的情况下,即使使用union,它也会带来重复项,因为第一列区分了行。

您可以使用

SELECT 'Student1' AS table_name, student_code, name FROM Student1
UNION ALL
SELECT 'Student2' AS table_name, student_code, name FROM Student2
你可以用

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

谢谢非常有帮助,谢谢!这很有帮助。