我尝试运行以下语句:
INSERT INTO VOUCHER (VOUCHER_NUMBER, BOOK_ID, DENOMINATION)
SELECT (a.number, b.ID, b.DENOMINATION)
FROM temp_cheques a, BOOK b
WHERE a.number BETWEEN b.START_NUMBER AND b.START_NUMBER+b.UNITS-1;
据我了解,应该将 temp_cheques 中的每条记录插入到 VOUCHER 中,其中 ID 和 DENOMINATION 字段对应于 BOOK 表中的条目(temp_cheques 来自数据库备份,我试图以不同的格式重新创建)。但是,当我运行它时,我收到一个错误:
Error: Operand should contain 1 column(s)
SQLState: 21000
ErrorCode: 1241
我在 SQuirrel 中运行它并且没有遇到任何其他查询的问题。我的查询语法有问题吗?
编辑:
BOOK的结构是:
ID int(11)
START_NUMBER int(11)
UNITS int(11)
DENOMINATION double(5,2)
temp_cheques 的结构是:
ID int(11)
number varchar(20)