结合&选择两个表共有的数据项

时间:2015-11-10 00:53:47

标签: sql r csv

我有两个表,我需要通过匹配客户名称和表格从表1到表2获取数据。发售日期。在第一个表中,名称位于两列中,而另一个表位于一列中。

> list(CustomerSales.CSV)
[[1]]
  CustomerFirstName CustomerLastName    SaleDate_Time InvoiceNo InvoiceValue
1         Hendricks             Eric 30-09-2015 13:00        10         5000
2              Fier          Marilyn 02-10-2015 15:30        15        18000
3           O'Brien            Donna 03-10-2015 13:30        16        25000
4             Perez           Barney 03-10-2015 16:10        17        20000
5              Fier          Marilyn 04-10-2015 11:10        18         6000
6         Hendricks             Eric 05-10-2015 14:00        19         8000


> list(ReturnSales.CSV)
[[1]]
    CustomerName    SaleDate_Time  ReturnDate_Time ReturnNo ReturnValue
1 Hendricks Eric 05-10-2015 14:00 10-10-2015 14:00        1        1000
2  O'Brien Donna 03-10-2015 13:30 15-10-2015 13:30        2        2000
3   Perez Barney 03-10-2015 16:10 12-10-2015 16:10        3        1500
4   Fier Marilyn 02-10-2015 15:30 08-10-2015 15:30        4        2000

结果应该是这样的表格。

list(ReturnSales.CSV)
    [[1]]
CustomerName    SaleDate_Time  InvoiceNo InvoiceValue ReturnDate_Time ReturnNo ReturnValue
1 Hendricks Eric 05-10-2015 14:00 19         8000  10-10-2015 14:00        1        1000
2  O'Brien Donna 03-10-2015 13:30 16        25000  15-10-2015 13:30        2        2000
3   Perez Barney 03-10-2015 16:10 17        20000  12-10-2015 16:10        3        1500
4   Fier Marilyn 02-10-2015 15:30 15        18000  08-10-2015 15:30        4        2000

表2客户名称& SaleDate_Time应与表1 CustomerFirstName,CustomerLastName和& SaleDate_Time。然后结合表1,InvoiceNo& InvoiceValue到表2。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您是否正在为上述场景寻找SQL查询,那么您可以使用以下内容。

SELECT RS.CustomerName
    ,CS.SaleDate_Time
    ,CS.InvoiceNo
    ,CS.InvoiceValue
    ,RS.Return_DateTime
    ,RS.ReturnNo
    ,RS.ReturnValue
FROM CustomerSales CS
INNER JOIN ReturnSales RS 
   ON RS.CustomerName = CS.CustomerfirstName + ' ' + Cs.CustomerLastName
WHERE RS.SaleDate_Time = CS.SaleDate_Time