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)

Respuestas a la pregunta(5)

Su respuesta a la pregunta