wdrożenia PrestaShop

SQL - masowa aktywacja dostawców

  • 2 Odpowiedzi
  • 1183 Wyświetleń

0 użytkowników i 3 Gości przegląda ten wątek.

*

Offline KKMT

  • Stały użytkownik
  • ***
  • 54
  • 0
  • PrestaShop: 1.6
  • Status: forum
SQL - masowa aktywacja dostawców
« dnia: 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ć.

*

Offline endriu107

  • user
  • Mieszkaniec
  • *****
  • 1,197
  • 51
  • PrestaShop: PS
  • Status: forum
Odp: SQL - masowa aktywacja dostawców
« Odpowiedź #1 dnia: 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)
« Ostatnia zmiana: Marzec 26, 2016, 07:33:12 pm wysłana przez west »

*

Offline KKMT

  • Stały użytkownik
  • ***
  • 54
  • 0
  • PrestaShop: 1.6
  • Status: forum
Odp: SQL - masowa aktywacja dostawców
« Odpowiedź #2 dnia: Marzec 26, 2016, 03:02:19 pm »
Masz rację, przekombinowałem. Podane przez Ciebie zapytanie jest okay.