我是R的新手,我正在尝试编写R脚本来查找两个地方之间的互积。我的两个表的表结构如下所示:

表格1

OriginPlace DestinationPlace
Tampere   Turku
Turku     Helsinki
Oulu      Porvoo


表2

Place    ProductId
Tampere  Prod1
Tampere  Prod2
Tampere  Prod3
Turku    Prod2
Turku    Prod3
Helsinki Prod2
Oulu     Prod1
Oulu     Prod2
Porvoo   Prod1
Porvoo   Prod2


我希望我的结果表如下所示:

OriginPlace DestinationPlace MutualProducts
Tampere     Turku            Prod2
Tampere     Turku            Prod3
Turku       Helsinki         Prod2
Oulu        Porvoo           Prod1
Oulu        Porvoo           Prod2


实际数据要大得多。在这种情况下如何有效使用for循环?提前致谢。

最佳答案

以下查询将解决该问题(假设table1是带有OriginPlace和DestinationPlace列的第一个表)

 SELECT
   table1.OriginPlace,
   table1.DestinationPlace,
   table2.ProductId as MultiProducts
FROM table1
   join table2 on table1.OriginPlace = table2.Place
   join table2 as tb2 on (tb2.Place = table1.DestinationPlace AND
   tb2.ProductId = table2.ProductId)

09-25 22:30