Hirdetés

Új hozzászólás Aktív témák

  • VladimirR

    nagyúr

    van ket tablam, az egyikben forumtemak fejlecei (cim, inditotta, elso, utolso post, hozzaszolasszam, lekerdezesszam, etc), a masikban a hozzaszolasok
    mivel ez nem sajat forum, hanem egy "mirror", ezert figyelni kell, megvan-e minden hozzaszolas egy-egy topic-bol

    en arra gondoltam, megszamolom a post-okat, topic-onkent osszehasonlitom a topics tabla tartalmaval, s ha nem egyezik a szamolt hozzaszolasszam a topics tabla hosszaszolasszam oszlopaval, akkor frissitek

    hogyan lehetne ezt egyszeruen, gyorsan megcsinalni?
    az alabbi tobb, mint 20 percig tart:

    SELECT posts.topic_id, COUNT( posts.num ) AS num, postnum FROM posts INNER JOIN topics ON posts.topic_id = topics.topic_uid GROUP BY topic_id HAVING num != postnum;

    (posts.topic_id a topic azonositoja, topics tabla elsodleges kulcsa, posts.num a hozzaszolas sorszama, postnum pedig a topics tablaban tarolt topic-onkenti hozzaszolasszam)

    ha jol sejtem, az a gond, hogy elobb csinalja meg a join-t, s csak utana a group by-t
    ra lehet venni valahogyan a mysql-t (egy lekerdezesben), hogy elobb menjen a group by (az magaban megvan eleg gyorsan), s csak utana, a megmaradt sorokra eroltesse a join-t?

Új hozzászólás Aktív témák