Polskie wsparcie PrestaShop

PrestaShop => Dla początkujących => Wątek zaczęty przez: KKMT w Marzec 26, 2016, 01:46:52 pm

Tytuł: SQL - masowa aktywacja dostawców
Wiadomość wysłana przez: KKMT w Marzec 26, 2016, 01:46:52 pm
Chcę aktywować dostawców, ale tylko tych, którzy mają jakieś produkty. W tym celu napisałem:

UPDATE ps_supplier SET active =1 WHERE id_supplier IN (
(
SELECT DISTINCT p.id_supplier
FROM ps_supplier s, ps_product p
WHERE s.id_supplier = p.id_supplier
)
);

Niestety otrzymuję błąd:
Cytuj
#1093 - You can't specify target table 'ps_supplier' for update in FROM clause
Błąd rozumiem, ale nie wiem jak to inaczej zrobić.
Tytuł: Odp: SQL - masowa aktywacja dostawców
Wiadomość wysłana przez: endriu107 w Marzec 26, 2016, 02:29:35 pm
Wydaje mi się że przekombinowałeś, spróbuj tak:
UPDATE ps_supplier SET active = 1 WHERE id_supplier IN (SELECT DISTINCT id_supplier FROM ps_product)
Tytuł: Odp: SQL - masowa aktywacja dostawców
Wiadomość wysłana przez: KKMT w Marzec 26, 2016, 03:02:19 pm
Masz rację, przekombinowałem. Podane przez Ciebie zapytanie jest okay.