我正在用另一个表的数据创建一个新表。我想把一个收入分类表和一个支出分类表的值结合起来,加上一个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
;''')
你不能简单地选择两个表,然后把它们放到一个表中。根据你想结合数据的方式,你可以选择JOIN表,或者使用UNION。看到两个表的CR_code,UNION是你在这种情况下最好的选择。
https:/www.w3schools.comsqlsql_union.asphttps:/www.w3schools.comsqlsql_join.asp