【问题标题】:SQL join two tables with same headerSQL连接两个表头相同的表
【发布时间】:2015-09-18 04:00:59
【问题描述】:

我有 2 个表头相同,table1 和 table2。 表一:

AMS nr.     sample pos
G242        16
G243        14
G246        18

表2:

AMS nr.     sample pos
G144        45
G789        32
G189        8

我想将 Table2 中的数据添加到 Table1 中,并将所有数据存储在 Table1 中。这可以使用 SQL 吗?

【问题讨论】:

  • 您使用的是哪个 DBMS?是要插入数据,让表1最后有6条记录,还是表1中已经存在AMS nr有什么逻辑?

标签: sql join


【解决方案1】:

看看下面的查询

INSERT INTO table1
SELECT * FROM table2

【讨论】:

    【解决方案2】:

    如果您尝试插入数据:

    INSERT INTO Table1 
        SELECT * FROM Table2
    

    如果您正在尝试更新表格内容(对于 mysql):

    UPDATE Table1 T1 
        JOIN Table2 T2 ON T1.`AMS nr.` = T2.`AMS nr.`
    SET T1.`sample pos` = T1.`sample pos` + T2.`sample pos`
    

    【讨论】:

      【解决方案3】:

      看看下面的查询。

      Insert into table1([AMS nr.],[sample pos]) select [AMS nr.],[sample pos] from table2
      

      【讨论】:

        【解决方案4】:

        一个简单的解决方案(将Table2中的数据添加到Table1中,并将所有数据存储在Tabel1中):

        SELECT AMS_nr, sample_pos
        INTO Table1
        FROM Table2 
        

        类似的结果,但创建了一个新表:

        select AMS_nr, sample_pos 
        from Table1
        union all
        select AMS_nr, sample_pos 
        from Table2
        

        【讨论】:

        • 这是一个产品特定的答案,但没有标记 dbms。至少指定它适用于哪种产品。
        猜你喜欢
        • 1970-01-01
        • 2019-09-22
        • 2022-06-10
        • 1970-01-01
        • 1970-01-01
        • 2018-07-27
        • 2012-02-28
        • 2012-05-01
        • 1970-01-01
        相关资源
        最近更新 更多