我使用Python在MySQL数据库中制作了两个表。以下SQL代码用于对数据库中的两个表执行联接。如何通过编写等效的python代码来做到这一点?
MySQL代码:
SELECT A.num, B.co_name, A.rep_name
FROM A
JOIN B
ON A.num=B.no
所需的Python代码:
sql = "XXX"
df_merged = pd.read_sql(sql, con=cnx)
答案 0 :(得分:0)
您可以采用的一种方法是将每个元素一个接一个地插入到新的表/数据框中。
zip( *map(lambda x: pd.read_sql_query(SQL.format(x),connection).loc[0],
df.yourDataFrame))
这将生成一个键值对,SQL表作为键,pandas df作为值。您可以随意添加这些值(df或sql表。)
希望这有帮助:)
答案 1 :(得分:0)
我设法通过用适当的撇号将查询括起来来解决:
sql = '''SELECT A.num, B.co_name, A.rep_name
FROM A
LEFT JOIN B ON A.num=B.no '''
df_merged = pd.read_sql(sql, con=cnx)