如何在一个脚本中使用r将来自sql查询的数据插入到单独的sql查询中?

mitkmikd  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(256)

我正在尝试编写一个r脚本来从sqlserver中的两个表中提取数据。目前,有两种独立的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',....)

因为我是用rodbc包在r中完成的,所以我想知道是否有一种方法可以在一个脚本中完成这项工作,它只需更改第一个查询的年份和名称,就可以将id复制并粘贴到第二个查询中。

1yjd4xko

1yjd4xko1#

如果我正确地跟踪了您,您可以在一个查询中使用 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
)

相关问题