如何在一个脚本中使用 R 将 SQL 查询中的数据插入到单独的 SQL 查询中?
Posted
技术标签:
【中文标题】如何在一个脚本中使用 R 将 SQL 查询中的数据插入到单独的 SQL 查询中?【英文标题】:How to insert data from a SQL query into a separate SQL query using R in one script? 【发布时间】:2020-07-16 00:32:26 【问题描述】:我正在尝试编写一个 R 脚本来从 SQL Server 中的两个表中提取数据。目前,有两种单独的 SQL 查询:一个根据年份和名称查询一列 ID;第二个使用从第一个查询中找到的那些 ID 来查找我们需要的数据。目前,要获取 ID,我只需手动更改年份和/或名称,然后将 ID 复制并粘贴到第二个查询中。
R 有没有办法为我从第一个查询中复制和粘贴 ID?
这是第一个 SQL 查询:
SELECT Distinct [ID], [col1], [col2], ...
FROM [datatable1]
WHERE Year = XXXX AND Name in ('SomeText')
第二个查询使用第一个查询的 ID 执行以下操作:
SELECT [colA], [colB], ...
FROM [datatable2]
WHERE Year = XXXX and ID in ('ID1', 'ID2', 'ID3',....)
因为我在 R 中使用 RODBC 包执行此操作,所以我想知道是否有一种方法可以在一个脚本中执行此操作,只需更改年份和来自第一个查询的名称。
【问题讨论】:
【参考方案1】:如果我正确地关注了你,你可以在一个带有exists
和相关子查询的查询中做你想做的事:
select col1, col2, ...
from datatable2 t2
where exists (
select 1
from datatable1 t1
where
t1.year = xxxx
and t1.name in ('sometext') -- better written as "t1.name = 'sometext'"
and t1.id = t.id
ad t1.year = t2.year
)
【讨论】:
以上是关于如何在一个脚本中使用 R 将 SQL 查询中的数据插入到单独的 SQL 查询中?的主要内容,如果未能解决你的问题,请参考以下文章