Jump to content
  • 0

Menedżer SQL. CSV z atrybutami produktów


meek

Question

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

  • 0

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

  • 0
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

  • 0
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

  • 0

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...