合并两个SQL表

合并两个SQL表,sql,sql-server,Sql,Sql Server,我有一个名为Store Sales的表,表中有以下列 Date Total Qty Sold RRP Total Value Sold Branch No. Barcodes Unit Cost 然后我有另一个叫做ESales的表,其中包含 Inv Date Our Ship Qty Unit Price (RRP Inc VAT) Line Total Invoice Order Line Brand Part Description Our Order Qty Unit Price (Ex

我有一个名为Store Sales的表,表中有以下列

Date
Total Qty Sold
RRP
Total Value Sold
Branch No.
Barcodes
Unit Cost
然后我有另一个叫做ESales的表,其中包含

Inv Date
Our Ship Qty
Unit Price (RRP Inc VAT)
Line Total
Invoice
Order
Line
Brand
Part
Description
Our Order Qty
Unit Price (Exc VAT)
Discount %
Discount Amt (Inc VAT)
Discount Amount (Exc VAT)
Tax Category
Tax Exempt
Group
Sales Cat
Cust. ID
Title
Customer
Name
Tax ID
Rep. ID
Credit Memo
Unit Price
Amount
Category ID
Cust. Amount
Number01
ShortChar01
ShortChar02
Clubcard
有匹配字段,但没有同名字段。是的

Inv Date = Date
Our Ship Qty = Total Qty Sold
Unit Price (RRP Inc VAT) = RRP
Line Total = Total Value Sold
我想将StoreSales中的值合并到ESales,并为不存在的数据创建其他列

Branch No
Barcodes
Unit Cost

你知道如何插入匹配值并创建三个新值吗?

与其创建一个新表,不如从一个显示所描述的所有数据的查询开始。将多个表中的数据合并在一起的方法是使用命令。下面是一个示例查询,显示了ESales表中的所有内容以及您描述的StoreSales表中的其他列:

SELECT e.*, s.[Branch No], s.[Barcodes], s.[Unit Cost] 
FROM StoreSales s
INNER JOIN ESales e ON 
e.[Inv Date] = s.[Date] AND 
e.[Our Ship Qty] = s.[Total Qty Sold] AND 
e.[Unit Price (RRP Inc VAT)] = s.[RRP] AND 
e.[Line Total] = s.[Total Value Sold]
一旦您得到一个您喜欢的查询,您就可以将其保存为一个表,这样您就可以像处理一个单独的表一样与该查询的结果进行交互


我要提醒你,做这件事必须非常小心。通常,数据会有一些公共字段,如订单ID或产品SKU,可以非常清楚地显示您在数据库中引用的唯一项目。通过日期、订单总数、价格等加入是不好的做法。这是因为无法保证没有两个订单的日期相同或订单总数相同。这些并不是任何特定顺序所独有的。

即使列的名称不同,也可以将表连接在一起。你到底想干什么?创建一个新表?将列添加到两个中的一个?你用的是什么数据库?你有没有考虑过创建一个视图?老实说,这有点复杂。它使用SiSense,它使用SQL命令窗口,执行脚本,来创建csv文件。我基本上想要的是将Store Sales中的数据插入Esales。因此,匹配的四列的数据已经存在,但需要重命名它们以匹配这些值,然后在Esales中为其他三列创建三个新列。假设它们是两个SQL表。根据接受答案中的非标准语法添加了
SQL server
标记。