MySQL 使用来自其他两个 table 的数据创建 table 时出现语法错误

MySQL syntax error when creating a table with data from two other tables

我正在用另一个 table 的数据创建一个新的 table。我想将来自 Income_Ledger table 和 Expenditure_Ledger table 的值与 WHERE 条件组合成一个新的 table.

如果只使用 table 之一,我可以成功添加值,但我似乎无法编写 SQL 语法来执行来自两个 table 的输入秒。即如果仅使用两个 tables.

之一,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
        ;''')

您不能简单地 select 两个表并将它们放在一个表中。 根据您想要组合数据的方式,您可以连接表或使用 UNION。看到两个表中的 CR_code,UNION 是这种情况的最佳选择。

https://www.w3schools.com/sql/sql_union.asp https://www.w3schools.com/sql/sql_join.asp