-1

mysql でいくつかのアドバイスが必要です。たとえば、3 つのテーブルがあるとします。

削除ログ:

この表は、論理的に削除されたすべてのスレッドと投稿、および削除された日付を示しています。

primaryid   type      dateline
       12   thread    1372789192
       13   thread    1372860700
       15   thread    1372798567
       16   thread    1372818402
       17   thread    1372931230
       37   post      1372790038
       43   post      1372798587

スレッド:

この表は、すべてのスレッドとその fourmid を示しています。

threadid   forumid  
      12         2
      13         2
      14         2
      15         4
      16         2
      17         2 

役職:

この表は、すべての投稿とそのスレッド ID を示しています。

    postid  threadid  
    35        12
    36        13
    37        13
    38        13
    39        12
    40        12
    41        14
    42        14
    43        14
    44        15
    45        16
    46        17

私が望むのは、削除されたスレッドと削除された投稿の最終日付を、forumid などの他のテーブル情報と結合して表示することです。

primaryid   type     forumid    dateline
       17   thread         2    1372931230
       43   post           2    1372931230

OK、次のような投稿とスレッドの最終削除日を取得できました:

SELECT        *
FROM          deletionlog AS a
INNER JOIN     
(
    SELECT    type, Max(dateline) AS dateline
    FROM      deletionlog
    GROUP BY  type
) AS b
ON            a.type = b.type
AND           a.dateline = b.dateline
WHERE b.type in('thread','post')";

しかし、これは私がテーブルスレッドに参加してポストミッドを抽出したい唯一のテーブルなので、何か提案はありますか?

4

1 に答える 1