/ / MySQL Nested Select y error de sintaxis IFNULL - mysql, sql

MySQL Nested Select y error de sintaxis IFNULL - mysql, sql

necesito ayuda en una consulta de MySQL, no puedo encontrar la forma de escribir correctamente esta declaración. Estoy tratando de anidar una selección en una declaración de inserción y ifnull también se usa.

INSERT INTO vo (vo_id, agreement_id, serial_no, vo_date, vo_status)
VALUES (NULL, "3",  (SELECT IFNULL(max(serial_no),1) FROM vo WHERE agreement_id = "3"), CURDATE(), "Open")

Cualquier ayuda es apreciada! ¡Gracias!

EDITAR: El error que obtuve en mysql es: # 1093 - No puede especificar la tabla de destino "vo" para actualizar en la cláusula FROM

Respuestas

1 para la respuesta № 1

Puede deshacerse de este error envolviendo su subconsulta en otra subconsulta sin WHERE cláusula

INSERT INTO vo
(vo_id, agreement_id, serial_no, vo_date, vo_status)
VALUES
(NULL, "3",  (SELECT x.*
FROM (SELECT IFNULL(max(serial_no),1)
FROM vo
WHERE agreement_id = "3"
) x), CURDATE(), "Open")

1 para la respuesta № 2

Prueba esto

   INSERT INTO vo (vo_id, agreement_id, serial_no, vo_date, vo_status)
VALUES (NULL, "3", (SELECT * from  (SELECT IFNULL(max(serial_no),1) FROM vo WHERE agreement_id = "3")t), CURDATE(), "Open")