Mensaje de error de sintaxis de MySQL "El operando debe contener 1 columna (s)"
Intenté ejecutar la siguiente declaración:
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, según tengo entendido, debería insertar en VOUCHER cada registro de temp_cheques con los campos ID y DENOMINATION correspondientes a las entradas en la tabla BOOK (temp_cheques proviene de una copia de seguridad de la base de datos, que estoy tratando de recrear en un formato diferente). Sin embargo, cuando lo ejecuto, aparece un error:
Error: Operand should contain 1 column(s)
SQLState: 21000
ErrorCode: 1241
Estoy ejecutando esto en SQuirrel y no he tenido problemas con ninguna otra consulta. ¿Hay algún problema con la sintaxis de mi consulta?
EDITAR:
La estructura de BOOK es:
ID int(11)
START_NUMBER int(11)
UNITS int(11)
DENOMINATION double(5,2)
La estructura de temp_cheques es:
ID int(11)
number varchar(20)