LEFT JOIN und Limit

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • LEFT JOIN und Limit

    Guten nabend Community,

    ich hab ein tolles Denkloch bei folgender Abfrage:

    PHP-Code:
            $sql 'SELECT * FROM phpbb_attachments 
            LEFT JOIN phpbb_posts ON(phpbb_attachments.post_id = phpbb_posts.post_id) 
            LEFT JOIN phpbb_attachments_desc ON(phpbb_attachments.attach_id = phpbb_attachments_desc.attach_id)
            LEFT JOIN phpbb_forums ON(phpbb_posts.forum_id = phpbb_forums.forum_id) 
            LEFT JOIN phpbb_topics ON(phpbb_posts.topic_id = phpbb_topics.topic_id) 
            WHERE phpbb_forums.cat_id = 36 
            AND phpbb_attachments.user_id_1 = '
    .$user_id.
            AND phpbb_attachments.in_gallery = 1 
            OR phpbb_forums.forum_id = 33 
            AND phpbb_attachments.user_id_1 = '
    .$user_id.
            AND phpbb_attachments.in_gallery = 1 
            ORDER BY phpbb_forums.forum_name , phpbb_attachments.attach_id DESC 
    ORDER BY phpbb_forums.forum_name auf dieses ORDER BY würde ich gerne ein Limit setzen.

    Beispiel: Die Abfrage wirft 10 identische Datensätze für phpbb_forums.forum_name aus, das ergebniss letztendlich sind aber ca 60 Datensätze. phpbb_forums.forum_name kommt aber öfters vor, logisch. für jedes phpbb_forums.forum_name gibts mehrere phpbb_attachments.attach_id. Und diese würde ich auf die höchste ID begrenzen, also so das phpbb_forums.forum_name + phpbb_attachments.attach_id grösste ID als ergebniss kommt. Geht das über mysql?

    Danke und Gruss
    Manfred

  • #2
    schon mal mit subselect probiert, etwa so

    select ... where ... in (select ...)

    oder

    select .... from .... inner join (select ...) on ...

    Kommentar

    Lädt...
    X