我过去能够使用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语句。但是现在我想根据用户选择的...