Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.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
Mysql 如何将相同结构的表合并为一个?_Mysql_Sql - Fatal编程技术网

Mysql 如何将相同结构的表合并为一个?

Mysql 如何将相同结构的表合并为一个?,mysql,sql,Mysql,Sql,我有两个表,除了它们的名称之外,它们的结构都相同。我能把它们合并成一个吗?如何设计这个新桌子 尝试联合查询: SELECT Semeter, Grade FROM Student1 UNION ALL SELECT Semeter, Grade FROM Student2; 如果还希望跟踪结果集中每条记录来自的表原点,可以添加计算列: SELECT Semeter, Grade, 'Student1' AS Source FROM Student1 UNION ALL SELECT Semet

我有两个表,除了它们的名称之外,它们的结构都相同。我能把它们合并成一个吗?如何设计这个新桌子

尝试联合查询:

SELECT Semeter, Grade FROM Student1
UNION ALL
SELECT Semeter, Grade FROM Student2;
如果还希望跟踪结果集中每条记录来自的表原点,可以添加计算列:

SELECT Semeter, Grade, 'Student1' AS Source FROM Student1
UNION ALL
SELECT Semeter, Grade, 'Student2' FROM Student2;
如果要创建一个包含两个学生表内容的新表,请使用:

CREATE TABLE AllStudents (Semester INT, Grade INT);
INSERT INTO AllStudents (Semester, Grade)
SELECT Semeter, Grade FROM Student1
UNION ALL
SELECT Semeter, Grade FROM Student2;
插入表1 挑选* 来自表2

核实一下


表2

您可以创建一个包含id、student_name、semister和grade列的表student


您可以根据student_name列查询student1和student 2,这将保留不同表中的所有列:

如果两个表具有相同的列名,则可以合并它们。这基本上将student2中的数据添加到student1中:

SELECT Semester, Grade FROM student1
UNION ALL
SELECT Semester, Grade FROM student2;

你的问题没有那么精确。您想如何组合它们?只需发布当前数据表的图片和所需结果。

创建新表以存储两个或多个不同表中的数据:

    CREATE TABLE students (
    StudentName VARCHAR(50),
    Semester VARCHAR(50),
    Grade VARCHAR(5));
创建唯一索引以确保只插入一条记录一次:

    CREATE UNIQUE INDEX UniqueRecords
    ON students (StudentName , Semester);
执行插入忽略,从单独的表插入到新的学生表中

注意:如果要在将来再次执行插入,则插入忽略以跳过新表中已存在的插入数据


我的意思是,我不想使用两个或多个表来显示相同类型的信息。如何设计一个可以包含这两个表中所有信息的新表?是否要将这些表永久合并到一个新表中,以克服当前结构中明显的设计缺陷?这里的大多数人希望示例表数据和预期结果是格式化文本,而不是图像或图像链接。。。请看一看。@user450201是否要创建一个新表来存储student1和student2中的所有数据,并将所有数据移动到新表中?
    CREATE UNIQUE INDEX UniqueRecords
    ON students (StudentName , Semester);
    INSERT INTO students (StudentName, Semester, Grade)
    SELECT 'Student1', Semester, Grade FROM student1;

    INSERT INTO students (StudentName, Semester, Grade)
    SELECT 'Student2', Semester, Grade FROM student2;