我有两张表,一张表有 FROM_SERIAL、TO_SERIAL 和 TRANSACTION_DATE。另一个表有 SERIAL_NO 和 ACTIVATION_DATE。我想合并特定范围内的两个表。
示例:
第一张 table
FROM_SERIAL TO_SERIAL TRANSACTION_DATE
10003000100 10003000500 22-APR-19
10003001100 10003001300 25-MAY-19
10005002001 10005002500 30-AUG-19
第二张表
SERIAL_NO ACTIVATION_DATE
10003000150 30-APR-19
10005002300 01-OCT-19
期望表
FROM_SERIAL TO_SERIAL SERIAL_NO ACTIVATION_DATE
10003000100 10003000500 10003000150 30-APR-19
10005002001 10005002500 10005002300 01-OCT-19
我想合并上述场景中的两个表。
代码可以是 Oracle 也可以是 Python,没关系。
最佳答案
Pandas 解决方案:
df = df1.assign(a=1).merge(df2.assign(a=1), on='a', how='outer')
df = df[df['SERIAL_NO'].between(df['FROM_SERIAL'], df['TO_SERIAL'])]
df = df.drop(['a','TRANSACTION_DATE'], 1)
print (df)
FROM_SERIAL TO_SERIAL SERIAL_NO ACTIVATION_DATE
0 10003000100 10003000500 10003000150 30-APR-19
5 10005002001 10005002500 10005002300 01-OCT-19
但是如果大数据更好是使用一些 oracle 解决方案。
关于python - 合并两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58163276/