meek Posted September 25, 2014 Share Posted September 25, 2014 Mam sklep na Presta 1.5.6 Próbuję wygenerować za pomocą menedżera SQL plik CSV zawierający: nazwa produktu / atrybut(rozmiar) / ilość sztuk w dany rozmiarzema generować tylko dostępne produkty ze stanem większym niż 0 Nie znam SQL, próbowałem coś sam robić ale w najlepszym wypadku wyświetla mi produkt/rozmiar ale bez ilości Szukam kogoś kto mi to ogarnie, może być za kasę Pozdrawiam Link to comment Share on other sites More sharing options...
0 meek Posted September 28, 2014 Author Share Posted September 28, 2014 Posiedziałem trochę nad tym i częściowo się udało. Po wrzuceniu do Menadżera SQL takiego zapytania: SELECT p.id_product, pl.name AS NAME_PL, agl.name AS NAME_G, al.name AS NAME_A, s.physical_quantity FROM ps_product_attribute pa LEFT JOIN ps_product_attribute_combination pac ON pac.id_product_attribute = pa.id_product_attribute LEFT JOIN ps_attribute a ON a.id_attribute = pac.id_attribute LEFT JOIN ps_attribute_group ag ON ag.id_attribute_group = a.id_attribute_group LEFT JOIN ps_attribute_lang al ON a.id_attribute = al.id_attribute LEFT JOIN ps_attribute_group_lang agl ON ag.id_attribute_group = agl.id_attribute_group LEFT JOIN ps_product p ON pa.id_product = p.id_product LEFT JOIN ps_product_lang pl ON p.id_product = pl.id_product LEFT JOIN ps_stock s ON (p.id_product = s.id_product) WHERE al.id_lang =1 AND agl.id_lang =1 and pl.id_lang =1 AND pa.default_on=1 otrzymuję plik csv z: id produktu, nazwa produktu, atrybut(rozmiar) produktu, ilość produktu w danym rozmiarze(atrybucie) Działa jeżeli dla produktu włączone jest zaawansowane zarządzanie magazynem. Czy da się uzyskać ilości produktów w danych rozmiarach(atrybutach) jeżeli nie używam zaawansowanego zarządzania magazynem? Co powinienem zmienić w zapytaniu? Link to comment Share on other sites More sharing options...
0 hatak Posted September 28, 2014 Share Posted September 28, 2014 s.physical_quantity ----->s.quantity LEFT JOIN ps_stock s ON (p.id_product = s.id_product) -----> LEFT JOIN ps_stock_available s ON (pa.id_product_attribute = s.id_product_attribute) chyba - nie zaglebialem sie w to Link to comment Share on other sites More sharing options...
0 meek Posted September 28, 2014 Author Share Posted September 28, 2014 Teraz się przyjrzałem co mi wychodziło - nie zauważyłem że wyświetla mi tylko jeden jeden rozmiar, spróbuję jeszcze pokombinować. Link to comment Share on other sites More sharing options...
0 meek Posted September 28, 2014 Author Share Posted September 28, 2014 SELECT p.id_product, pl.name AS NAME_PL, al.name AS NAME_A, s.quantity FROM ps_product_attribute pa LEFT JOIN ps_product_attribute_combination pac ON pac.id_product_attribute = pa.id_product_attribute LEFT JOIN ps_attribute a ON a.id_attribute = pac.id_attribute LEFT JOIN ps_attribute_group ag ON ag.id_attribute_group = a.id_attribute_group LEFT JOIN ps_attribute_lang al ON a.id_attribute = al.id_attribute LEFT JOIN ps_attribute_group_lang agl ON ag.id_attribute_group = agl.id_attribute_group LEFT JOIN ps_product p ON pa.id_product = p.id_product LEFT JOIN ps_product_lang pl ON p.id_product = pl.id_product LEFT JOIN ps_stock_available s ON (pa.id_product_attribute = s.id_product_attribute) WHERE al.id_lang =1 AND agl.id_lang =1 and pl.id_lang =1 AND pa.default_on=1 Wszystko ok, ale wyświetla mi ilości tylko przy pierwszym domyślnym atrybucie(rozmiarze), nie wyświetla ilości pozostałych rozmiarów Link to comment Share on other sites More sharing options...
0 meek Posted September 28, 2014 Author Share Posted September 28, 2014 SELECT p.id_product, pl.name AS NAZWA, al.name AS ROZMIAR, s.quantity FROM ps_product_attribute pa LEFT JOIN ps_product_attribute_combination pac ON pac.id_product_attribute = pa.id_product_attribute LEFT JOIN ps_attribute a ON a.id_attribute = pac.id_attribute LEFT JOIN ps_attribute_group ag ON ag.id_attribute_group = a.id_attribute_group LEFT JOIN ps_attribute_lang al ON a.id_attribute = al.id_attribute LEFT JOIN ps_attribute_group_lang agl ON ag.id_attribute_group = agl.id_attribute_group LEFT JOIN ps_product p ON pa.id_product = p.id_product LEFT JOIN ps_product_lang pl ON p.id_product = pl.id_product LEFT JOIN ps_stock_available s ON (pa.id_product_attribute = s.id_product_attribute) WHERE al.id_lang =1 AND agl.id_lang =1 and pl.id_lang =1 Udało się wyświetla wszystkie rozmiary-atrybuty przy produktach wraz z ilościami. Czy wie może ktoś jak zrobić żeby nie wyświetlał atrybutów-rozmiarów których ilość wynosi"0"? Link to comment Share on other sites More sharing options...
0 hatak Posted September 28, 2014 Share Posted September 28, 2014 where s.quantity > 0 Link to comment Share on other sites More sharing options...
0 brobo Posted August 13, 2020 Share Posted August 13, 2020 Witam, wątek bardzo stary, ale dokładnie tego zagadnienia dotyczy moje pytanie. Otóż zapytanie świetnie sprawdza się również dla wersji 1.7.x, ale co w przypadku gdy kombinacje są tworzone wg 2 atrybutów? Czyli wynik powinien wyglądać tak: nazwa produktu / atrybut1(rozmiar) / atrybut2(kolor) / ilość sztuk w dany rozmiarze i kolorze W tej chwili wynikiem są wszystkie kombinacje jednak wyświetlane są dwukrotnie - najpierw z info o pierwszym atrybucie, później o drugim... Co zrobić, aby były wyświetlane w jednym wierszu? Z góry dziękuję. Link to comment Share on other sites More sharing options...
Question
meek
Mam sklep na Presta 1.5.6
Próbuję wygenerować za pomocą menedżera SQL plik CSV zawierający:
nazwa produktu / atrybut(rozmiar) / ilość sztuk w dany rozmiarze
ma generować tylko dostępne produkty ze stanem większym niż 0
Nie znam SQL, próbowałem coś sam robić ale w najlepszym wypadku wyświetla mi produkt/rozmiar ale bez ilości
Szukam kogoś kto mi to ogarnie, może być za kasę
Pozdrawiam
Link to comment
Share on other sites
7 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now