Jump to content

Edit History

n0wy

n0wy

Próbuję przygotować w Menedżerze SQL zapytanie, które dla każdego id_product_attribute wylistuje odpowiednie atrybuty w kolumnach.

Mam dwa rodzaje atrybutów w sklepie - Kolor i Rozmiar. Tabela ps_attribute_lang przechowuje nazwy atrybutów w jednej kolumnie - z tym mam problem.

 

Chciałbym uzyskać następującą tabelę:

-------------------------------------
ID 	| Kolor 	| Rozmiar
-------------------------------------
1 	| niebieski 	| XL
-------------------------------------
2 	| czerwony 	| S
-------------------------------------

 

Moje zapytanie to:

SELECT
pa.`id_product_attribute` AS 'ID',
al.`name` AS 'Kolor',
al.`name` AS 'Rozmiar'

FROM `ps_product` p

JOIN `ps_product_attribute` pa USING (`id_product`)
JOIN `ps_product_attribute_combination` pac USING (`id_product_attribute`)
JOIN `ps_attribute` a ON pac.`id_attribute` = a.`id_attribute`
JOIN `ps_attribute_lang` al ON a.`id_attribute` = al.`id_attribute`

ORDER BY pa.`id_product_attribute`

 

Niestety otrzymuję wynik w postaci:

-------------------------------------
ID 	| Kolor 	| Rozmiar
-------------------------------------
1 	| niebieski 	| niebieski
-------------------------------------
1 	| XL 		| XL
-------------------------------------
2 	| czerwony 	| czerwony
-------------------------------------
2 	| S 		| S

 

Dodanie 

GROUP BY pa.`id_product_attribute`

też niewiele zmienia, bo dostaję wynik:

-------------------------------------
ID 	| Kolor 	| Rozmiar
-------------------------------------
1 	| niebieski 	| niebieski
-------------------------------------
2 	| S 		| S

 

Macie pomysł jak to zapisać?

Dzięki.

n0wy

n0wy

Próbuję przygotować w Menedżerze SQL zapytanie, które dla każdego id_product_attribute wylistuje odpowiednie atrybuty w kolumnach.

Mam dwa rodzaje atrybutów w sklepie - Kolor i Rozmiar. Tabela ps_attribute_lang przechowuje nazwy atrybutów w jednej kolumnie - z tym mam problem.

 

Chciałbym uzyskać następującą tabelę:

-------------------------------------
ID 	| Kolor 	| Rozmiar
-------------------------------------
1 	| niebieski 	| XL
-------------------------------------
2 	| czerwony 	| S
-------------------------------------

 

Moje zapytanie to:

SELECT
pa.`id_product_attribute` AS 'ID',
al.`name` AS 'Kolor',
al.`name` AS 'Rozmiar'

FROM `ps_product` p

JOIN `ps_product_attribute` pa USING (`id_product`)
JOIN `ps_product_attribute_combination` pac USING (`id_product_attribute`)
JOIN `ps_attribute` a ON pac.`id_attribute` = a.`id_attribute`
JOIN `ps_attribute_lang` al ON a.`id_attribute` = al.`id_attribute`

ORDER BY pa.`id_product_attribute`

 

Niestety otrzymuję wynik w postaci:

-------------------------------------
ID 	| Kolor 	| Rozmiar
-------------------------------------
1 	| niebieski 	| niebieski
-------------------------------------
1 	| XL 		| XL
-------------------------------------
2 	| czerwony 	| czerwony
-------------------------------------
2 	| S 		| S

 

Dodanie 

GROUP BY pa.`id_product_attribute`

też niewiele zmienia, bo dostaję wynik:

-------------------------------------
ID 	| Kolor 	| Rozmiar
-------------------------------------
1 	| niebieski 	| niebieski
-------------------------------------
1 	| niebieski 	| niebieski
-------------------------------------
2 	| S 		| S
-------------------------------------
2 	| S 		| S

 

Macie pomysł jak to zapisać?

Dzięki.

×
×
  • Create New...