R中的SQL查询基于数据帧中的值使用多个AND语句

问题描述 投票:1回答:1

我过去能够使用sprintf()来执行此操作,该操作基于用户选择的ID列表创建sql语句。但是,现在我想根据用户从多个表中选择的多个字段列表来创建一条sql语句,这让我很茫然。

我有一个包含多个表的数据库:

TBL1
Date  Program  Name      Type    height  width
5/22  E7       Square    angle   5       5
5/22  H9       Circle    smooth  4       4    
9/9   E7       Circle    smooth  7       7   
10/10 R8       Triangle  angle   10      5  

TBL2
Date  Program  Name      Value1  Value2
5/22  E7       Square    5       2.4
5/22  H9       Circle    10      43
9/9   E7       Circle    3.2     9
10/10 R8       Triangle  999     1

TBL3
Type    1  2  3
angle   a  g  h
smooth  b  c  d

而且我有一个要从数据库中获取的行的数据框

df
Date  Program  Name
5/22  E7       Square
9/9   E7       Circle
10/10 R8       Triangle

我需要动态生成一条SQL语句来收集所需的数据。因此,我需要在df中获取每个日期,程序和名称的日期,程序,名称,类型,值1和值2。

我试图找出sqlinterpolate是否可以处理此问题,但似乎不行吗?

我将仅在日期,程序和名称与我的df匹配的行中加入TBL1和TBL3 WHERE Type = Type,然后从TBL2加入VALUES。]

SQL返回所需的输出:

Date  Program  Name      Type    1   2   3  Value1  Value2
5/22  E7       Square    angle   a   g   h  5       2.4
9/9   E7       Circle    smooth  b   c   d  3.2     9
10/10 R8       Triangle  angle   a   g   h  999     1

想法?

我过去能够使用sprintf()来执行此操作,该操作基于用户选择的ID列表创建sql语句。但是现在我想根据用户选择的...

r rmysql r-dbi
1个回答
1
投票
© www.soinside.com 2019 - 2024. All rights reserved.