potrzebuję pomocy w zapytaniu MySQL, nie mogę się zorientować, jak poprawnie napisać to stwierdzenie, próbuję zagnieździć selekcja w opisie wstawki i ifnull również jest używany.
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")
Każda pomoc jest doceniana! Dziękuję Ci!
EDIT: Błąd mam w mysql jest: # 1093 - Nie można określić tabela docelowa "vo" dla aktualizacji w klauzula FROM
Odpowiedzi:
1 dla odpowiedzi № 1Możesz pozbyć się tego błędu, zawijając swoje podkwerendy w innym podzapytaniu bez WHERE
klauzula:
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 dla odpowiedzi nr 2
Spróbuj tego
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")