Oxvarcount in oxarticles per SQL setzen

muss leider alle oxvarcount neu setzen, meine wawi schnittstelle hat’s irgendwie durcheinandergewürfelt. müste in etwas so gehen:

update oxarticles set oxvarcount = [I]zähl die artikel bei denen die oxparentid gleich der oxid des zu aktualisierenden artikels ist[/I]

irgendwie ist meinen ansätzen syntaktisch der wurm drin… jmd eine idee?

[QUOTE=alexz hh;20701]muss leider alle oxvarcount neu setzen, meine wawi schnittstelle hat’s irgendwie durcheinandergewürfelt. müste in etwas so gehen:

update oxarticles set oxvarcount = [I]zähl die artikel bei denen die oxparentid gleich der oxid des zu aktualisierenden artikels ist[/I]

irgendwie ist meinen ansätzen syntaktisch der wurm drin… jmd eine idee?[/QUOTE]

Hallo Guido,

das muß aber schon eine sehr zukünftige Version von mySQL sein, die diese Syntax versteht. :wink:

Als Ansatz zum Umbauen:

SELECT oap.oxartnum, oap.oxvarcount, count(oav.oxid) as realvarcount FROM oxarticles oap LEFT JOIN oxarticles oav ON oap.oxid = oav.oxparentid   GROUP BY oav.oxparentid HAVING oap.oxvarcount != realvarcount

… ermittelt die Vaterartikel, bei denen die Variantenanzahl nicht stimmt. Daraus läßt sich unproblematisch der Update-Query bauen.

that’s it… perfekt:-)
einen join der tabelle mit sich selbst hatte ich auch drin, aber irgendwo klemmte es!