Přihlásit se

Joomla 5.2.2 Security & Bugfix Release

Joomla 5.2.2 je nyní k dispozici. Jedná se o bezpečnostní vydání pro Joomla 5.x.

výpis produktů se shodným SKU

06. pro 2022 06:46 #147411
výpis produktů se shodným SKU od marvays
Návštěvník
Ahoj. Mám takový problém... potřeboval bych známému na eshopu nějak umožnit vyfiltrovat produkty se shodným SKU kodem.
Napadlo mě, jestli by se nenašel nějaký šikovný znalec SQL který by napsal dotaz, který by to uměl najít a vypsat?

Jen připomenu, že se jedná o tabulku xx_virtuemart_products a sloupec product_sku

Kdo mi to napíše, má u mě králíka :)

PS: Možná by stálo zato na to vytvořit nějaký plugin, kterým bych mohl mezi produkty odhalovat duplicity... a nejen mezi SKU, ale i v názvech a podobně.

 

06. pro 2022 10:57 #147412
Odpověď od Ernst
Joomla Expert
jako dávkový zpracování to není problém, jako plugin by to bylo již na dýl

06. pro 2022 12:16 #147416
Odpověď od Cony
Moderátor
Code:
SELECT sloupec FROM tabulka GROUP BY sloupec HAVING count(sloupec) > 1
Poděkovali: Linelabcz, Ernst

06. pro 2022 12:56 #147417
Odpověď od David Zirhut
Admin
Výpis všech záznamů, které jsou seskupené podle stejného product_sku.
Code:
SELECT `product_sku`, COUNT(*) `count` FROM `#__virtuemart_products` GROUP BY `product_sku` ORDER BY COUNT(*) DESC LIMIT 500

Pokud by to mělo být i s id produktů, tak stačí doplnit takto:
Code:
SELECT `product_sku`, COUNT(*) `count`, GROUP_CONCAT(`virtuemart_product_id`) AS `virtuemart_product_ids` FROM `#__virtuemart_products` GROUP BY `product_sku` ORDER BY COUNT(*) DESC LIMIT 500

06. pro 2022 15:28 - 06. pro 2022 15:29 #147418
Odpověď od David Zirhut
Admin
Ještě jsem připravil jeden SQL dotaz, který vypíše jen ty duplicitní produkty a ty co jsou jen jednou tak přeskočí.
Tento dotaz už je drobet složitější (je zanořený sám do sebe), ale dá se taky snad nějak pochopit pro případné úpravy.

Code:
SELECT * FROM ( SELECT `product_sku`, COUNT(*) `count`, GROUP_CONCAT(`virtuemart_product_id`) AS `virtuemart_product_ids` FROM `#__virtuemart_products` GROUP BY `product_sku` ORDER BY COUNT(*) DESC ) AS s WHERE `count` > 1
Poděkovali: Cony, Linelabcz

09. pro 2022 04:50 #147429
Odpověď od marvays
Návštěvník
Díky za odpovědi. Zkoušel jsem taky něco podle manuálů na internetu a podařilo se mi složit úplně jednoduchý...
Code:
SELECT product_sku,        Count(*) FROM   j3_virtuemart_products GROUP  BY product_sku HAVING Count(*) > 1 ORDER  BY product_sku 
ale ty vaše jsou lepší :)

Powered by Fórum