如何在主键上添加/合并两个表?

Mic*_*adu 0 t-sql sql-server

我是一个全新的SQL新手.我有两张桌子.每个表都有一个主键列(ID)和其他几个具有整数值的列.

例如:

在此输入图像描述

在此输入图像描述

现在我想将两个表合并到一个表中 - 以每个ID添加所有苹果,香蕉和西红柿的方式.

例如:

在此输入图像描述

对于此任务,SQL语句如何?

Art*_*r D 5

    INSERT INTO NEWTABLE (ID, Apples, Bananas, Tomatoes)
     SELECT ISNULL(a.Id, b.Id) as [Id], 
             ISNULL(a.Apples,0) + ISNULL(b.Apples,0) AS [Apples], 
             ISNULL(a.Bananas,0) + ISNULL(b.Bananas,0) AS [Bananas], 
             ISNULL(a.Tomatoes,0) + ISNULL(b.Tomatoes,0) AS [Tomatoes]
    FROM Table1 AS a
    FULL OUTER JOIN Table2 AS b on b.Id = a.Id
Run Code Online (Sandbox Code Playgroud)

我认为这将解决您的问题.只是一个INSERT和一个SELECT组合.