Mensagem de erro de sintaxe MySQL "Operando deve conter 1 coluna (s)"
Tentei executar a seguinte instrução:
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;
que, pelo que entendi, deve inserir no VOUCHER cada registro de temp_cheques com os campos ID e DENOMINATION correspondentes às entradas na tabela BOOK (temp_cheques vem de um backup de banco de dados, que estou tentando recriar em um formato diferente). No entanto, quando o executo, recebo um erro:
Error: Operand should contain 1 column(s)
SQLState: 21000
ErrorCode: 1241
Estou executando isso no SQuirrel e não tive problemas com outras consultas. Há algo de errado com a sintaxe da minha consulta?
EDITAR:
A estrutura do BOOK é:
ID int(11)
START_NUMBER int(11)
UNITS int(11)
DENOMINATION double(5,2)
A estrutura de temp_cheques é:
ID int(11)
number varchar(20)