【发布时间】:2020-08-20 00:06:01
【问题描述】:
我正在使用另一个表中的数据创建一个新表。我想将 Income_Ledger 表和 Expenditure_Ledger 表中的值与 WHERE 条件组合到一个新表中。
如果只使用其中一个表,我可以成功添加值,但我似乎无法编写 SQL 语法来执行来自两个表的输入。即 AS SELECT、FROM、WHERE 仅使用两个表之一即可。
感谢您的帮助
MySQL(版本 14.14 发行版 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
;''')
【问题讨论】:
-
在大多数情况下,为每个实体创建一个单独的表是一个真正的坏主意。请说明您要解决的问题。
-
改为创建视图。无需复制数据,将始终保持最新状态。
标签: mysql sql mysql-python