我是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)