Jump to content
  • 0

Prestashop zapytanie do bazy danych - kategorie


MarcinoxPL

Question

Witam, mam potrzebę stworzenia zapytania do bazy danych które ma działać następująco.

 

 

Zapytanie ma wyświetlić:

 

- listę produktów ( nazwa, url, zdjęciem cena, ilość )

 

 

Warunki:

 

Produkty mają być wyświetlone w przypadku kiedy występują w KAŻDEJ podanej kategorii ( po id_category )

 

Wie ktoś jak sformułować takie zapytanie?

 

 

Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 0
SELECT  pl.id_product, pl.name, p.price, cp.id_category
FROM `' . _DB_PREFIX_ . 'product` p
LEFT JOIN `' . _DB_PREFIX_ . 'product_lang` pl ON p.`id_product` = pl.`id_product`
LEFT JOIN `' . _DB_PREFIX_ . 'category_product` cp ON p.`id_product` = cp.`id_product`
WHERE '.$where.'
ORDER BY p.`id_product` ASC

Mam takie zapytanie - chcę pobrać produkty które znajdują się w kategoriach np: 20,21 i 23 - tzn produkt musi być w każdej z tych kategorii

 

Chcę wstawić warunek na 'category_product` ale nie wiem jak 

Link to comment
Share on other sites

  • 0

Czyli chcesz taki wynik:
 

+------------+------------+
|nazwa       |kategoria   |
+------------+------------+
|Produkt A   | 20         |
+------------+------------+
|Produkt B   | 20         |
+------------+------------+
|Produkt A   | 21         |
+------------+------------+
|Produkt B   | 21         |
+------------+------------+

Link to comment
Share on other sites

  • 0

 

Czyli chcesz taki wynik:

 

+------------+------------+
|nazwa       |kategoria   |
+------------+------------+
|Produkt A   | 20         |
+------------+------------+
|Produkt B   | 20         |
+------------+------------+
|Produkt A   | 21         |
+------------+------------+
|Produkt B   | 21         |
+------------+------------+

 

W sumie to tak, produkty które są w KAŻDEJ wymienione kategorii

Link to comment
Share on other sites

  • 0

O ile dobrze zrozumiałem to coś w tym stylu:

SELECT DISTINCT pl.id_product, pl.name, p.price FROM ps_product p 
LEFT JOIN ps_product_lang pl ON p.id_product = pl.id_product 
LEFT JOIN ps_category_product cp ON p.id_product = cp.id_product 
WHERE cp.id_category IN (20, 21, 23) ORDER BY p.id_product ASC
Link to comment
Share on other sites

  • 0

 

O ile dobrze zrozumiałem to coś w tym stylu:

SELECT DISTINCT pl.id_product, pl.name, p.price FROM ps_product p 
LEFT JOIN ps_product_lang pl ON p.id_product = pl.id_product 
LEFT JOIN ps_category_product cp ON p.id_product = cp.id_product 
WHERE cp.id_category IN (20, 21, 23) ORDER BY p.id_product ASC

Dziękuje bardzo! Dokładnie o to mi chodziło. Bardzo mi pomogłeś

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...