Skocz do zawartości
danxg

zapytanie sql

Rekomendowane odpowiedzi

Witam,Nie wiedziałem za bardzo w jakim dziale umieścić ten wątek to umieściłem go tutaj.Problem skierowany jest do kogoś kto ogarnia zapytania sql.Chciałbym uzyskać w moim phpmyadmin następujący wydruk listy produktów (aktywnych!):Nazwa produktu, cena, ile ma przyporządkowanych kombinacjia tu bardziej szczegółowo jak to osiągnąć tylko nie znam za bardzo zapytań sql a przynajmniej takich skomplikowanych... więc:Z tabeli:'ps_product_lang' -nazwe produktu (kolumna id_lang (potrzebuje tylko te o wartości = 1) nazwa produktu znajduje się w kolumnie link_rewrite) z tabeli 'ps_product' - cenę oraz czy jest aktywny (kolumna z ceną nazwya się price, a produkt aktywny ma w kolumnie active wartość = 1) z tabeli ps_product_atribute ilość kombinacji danego produktu jest równa ilości powtórzeń wartości id_product w kolumnie id_productczyli np w tej tabeli ps_product_atribute jak mamy w kolumnie id_product występowanie trzy razy tego samego nr to oznacza ze sa przyporzadkowane do niego właśnie 3 kombinacje i tej liczby potrzebuje tylko..Mam nadzieje ze w miare jasno wytlumaczylem o co mi chodzi moge jeszcze podpowiedzieć ze laczyc tabele nalezy poprzez id_product. W razie pytan prosze pisac a ja sam prosze o pomoc.Wydruk ten mi bedzie bardzo pomocny do tworzenia stanow na magazynie :)Tabele można połączyć

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

SELECT p.price, p.active, pl.link_rewrite, COUNT(pa.id_product_attribute) AS nb_attributes FROM ps_product pLEFT JOIN ps_product_lang pl ON pl.id_product = p.id_productLEFT JOIN ps_product_attribute pa ON pa.id_product = p.id_productGROUP BY p.id_product

Z tym że zwraca liczbę atrybutów a nie kombinacji, to nie jest to samo.

Jak chcesz mieć liczbę kombinacji kod będzie wyglądał inaczej.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

To wtedy będzie tak:

 

SELECT p.price, p.active, pl.link_rewrite, COUNT(DISTINCT pac.id_product_attribute) AS nb_combinations FROM ps_product pLEFT JOIN ps_product_lang pl ON pl.id_product = p.id_productLEFT JOIN ps_product_attribute pa ON pa.id_product = p.id_productLEFT JOIN ps_product_attribute_combination pac ON pac.id_product_attribute = pa.id_product_attributeGROUP BY p.id_product

Zwróci ci liczbę kombinacji a nie atrybutów.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

jeszcze jeden makament :) niektóre produkty są wyświetlane w tym zapytaniu a nie ma ich po wyszukaniu w BO :? mógłbym prosić o dodanie kolumny id_produktu- moze wtedy sie odnajde :) a i też przechodząc po tych wynikach zdarza się ze wyświetla nieaktywny produkt tzn. o wartości active = 0

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

SELECT p.id_product, p.price, p.active, pl.link_rewrite, COUNT(DISTINCT pac.id_product_attribute) AS nb_combinations FROM ps_product pLEFT JOIN ps_product_lang pl ON pl.id_product = p.id_productLEFT JOIN ps_product_attribute pa ON pa.id_product = p.id_productLEFT JOIN ps_product_attribute_combination pac ON pac.id_product_attribute = pa.id_product_attributeWHERE p.active = 1GROUP BY p.id_product

Trzeba dodać jeszcze warunek jeśli mają być tylko aktywne.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

no super działa:)tylko.... :?

niektóre produkty są wyświetlane w tym zapytaniu a nie ma ich po wyszukaniu w BO

tylko czy ktoś wie jak odfiltrować tak aby wyświetlało mi tylko te produkty które są widoczne na sklepie? bo tutaj wyśietla mi też takie których produktów już nie ma ani we FO ani BO :?:?:?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się



  • Przeglądający

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

  • Aktywni użytkownicy

    Nikt jeszcze nie otrzymał reputacji w tym tygodniu.

  • Statystyki forum

    • Tematów
      7521
    • Postów
      36286
×