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
我正在用另一个 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