MySQL LEFT JOIN, INNER bir forum vb, karmaşık sorgu, PHP + MySQL JOIN

0 Cevap php

Yani ben veri almaya çalışıyorum küçük bir forum var, 4 tablolar, forum, forum_posts, forum_threads ve kullanıcılar vardır. Ne yapmaya çalışıyorum, her forum için son mesajı almak ve kullanıcıya bu yazı gizlice göz veren, i mesajların ve her forum aswell iplik sayısının numarasını almak istiyorum etmektir. Ayrıca, i bir sorguda bunu yapmak istiyor. Yani burada ben ile geldi ne:

SELECT lfx_forum_posts.*, lfx_forum.*, COUNT(lfx_forum_posts.pid) as posts_count,
    lfx_users.username,
    lfx_users.uid,
    lfx_forum_threads.tid, lfx_forum_threads.parent_forum as t_parent, 
    lfx_forum_threads.text as t_text, COUNT(lfx_forum_threads.tid) as thread_count
    FROM
    lfx_forum
    LEFT JOIN
    (lfx_forum_threads
        INNER JOIN
        (lfx_forum_posts
            INNER JOIN lfx_users
            ON lfx_users.uid = lfx_forum_posts.author)
        ON lfx_forum_threads.tid = lfx_forum_posts.parent_thread AND lfx_forum_posts.pid = 
                (SELECT MAX(lfx_forum_posts.pid)
                FROM lfx_forum_posts
                WHERE lfx_forum_posts.parent_forum = lfx_forum.fid
                GROUP BY lfx_forum_posts.parent_forum)
    )
    ON lfx_forum.fid = lfx_forum_posts.parent_forum
    GROUP BY lfx_forum.fid
    ORDER BY lfx_forum.fid ASC

Bu foruma Son mesajı almak ve bana bunun bir sneakpeek verir sorun olduğunu

lfx_forum_posts.pid = 
                    (SELECT MAX(lfx_forum_posts.pid)
                    FROM lfx_forum_posts
                    WHERE lfx_forum_posts.parent_forum = lfx_forum.fid
                    GROUP BY lfx_forum_posts.parent_forum)

(Benim COUNT (lfx_forum_posts.pid) birine gitmek yapar lutfen i çalışmak istiyorum nasıl değildir Benim soru COUNT (lfx_forum_threads.tid) gibi:. Bunun doğru sayıyı göstermesini sağlamak için bazı biraz kolay yolu var ve aynı zamanda doğru sonrası bilgi (en son bir) getirilemedi?

Bir şey söylemek ve ben daha benim konuyu anlatmaya çalışacağım lütfen belirsiz ise, bu benim ilk kez burada bir şeyler gönderme var.

0 Cevap