MySQL -> DELETE, #1093 - Table ... is specified twice

Odpowiedz Nowy wątek
2018-12-25 15:06
0

Dzień dobry.

Przepisuję kod zapytań z bazy MS SQL na MySQL. To zapytanie działało, jednak po przeniesieniu przestało. Co jest tutaj źle?

DELETE FROM producers WHERE producers.id 
IN 
(
    SELECT producers.id FROM producers WHERE producers.id NOT IN 
    (
        SELECT producer FROM movies
    )
);

Wyskakuje mi błąd: #1093 - Table 'producers' is specified twice, both as a target for 'DELETE' and as a separate source for data
Próbowałem maskować tablice dodając im aliasy, ale wtedy też nie idzie.

Proszę o pomoc. Dzięki

edytowany 1x, ostatnio: mpaw, 2018-12-25 15:07

Pozostało 580 znaków

2018-12-25 15:07

Po co Ci tamten wewnętrzny select?

DELETE FROM producers WHERE producers.id NOT IN (SELECT producer FROM movies)

Wielkie dzięki! :) - mpaw 2018-12-25 15:12

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0