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
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ě.
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.
Pokud by to mělo být i s id produktů, tak stačí doplnit takto:
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.
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ý...
ale ty vaše jsou lepší
Code:
SELECT product_sku,
Count(*)
FROM j3_virtuemart_products
GROUP BY product_sku
HAVING Count(*) > 1
ORDER BY product_sku