当创建一个包含两个其他表的数据的表时,MySQL语法错误。

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

我正在用另一个表的数据创建一个新表。我想把一个收入分类表和一个支出分类表的值结合起来,加上一个WHERE条件,放到一个新的表中。

如果只使用其中一个表,我可以成功地添加值,但我似乎无法编写SQL语法来执行来自两个表的输入,即如果只使用两个表中的一个表,AS SELECT, FROM, WHERE可以工作。

谢谢你的帮助

MySQL(14.14版 Distr 5.7.23)

# bank in for below gives strings of: B1 and B2
for bank in Bank_Account_Code:
    with engine.connect() as con:
        con.execute('''
        DROP TABLE IF EXISTS '''+bank+''';''')
        con.execute('''
        CREATE TABLE IF NOT EXISTS '''+bank+'''
        AS SELECT id,Date,CR
        FROM Income_Ledger
        WHERE DR_code="'''+bank+'''"

        AS SELECT id,Date,DR
        FROM Expenditure_Ledger
        WHERE CR_code="'''+bank+'''"

        ORDER BY Date
        ;''')

enter image description here

mysql sql mysql-python
1个回答
1
投票

你不能简单地选择两个表,然后把它们放到一个表中。根据你想结合数据的方式,你可以选择JOIN表,或者使用UNION。看到两个表的CR_code,UNION是你在这种情况下最好的选择。

https:/www.w3schools.comsqlsql_union.asphttps:/www.w3schools.comsqlsql_join.asp

© www.soinside.com 2019 - 2024. All rights reserved.