0

forum_reply と forum_post の下に次のテーブルがあります。たとえば1のフォーラム_カテゴリIDに一致する最新の投稿または返信を取得するにはどうすればよいですか.日付、作成者、フォーラム_(投稿または返信)_id、フォーラム_カテゴリ_idを取得する必要があります

forum_post_id   int(11) No  Primary NULL    auto_increment
    forum_category_id   int(11) No  None    NULL    
    forum_post_title    varchar(255)    No  None    NULL    
    forum_post_description  mediumtext  No  None    NULL    
    customer_id int(11) No  None    0   
    forum_post_author   varchar(64) No  None    NULL    
    forum_post_email    varchar(128)    No  None    NULL    
    is_lock tinyint(1)  No  None    0   
    is_stick    tinyint(1)  No  None    0   
    is_notify   tinyint(1)  No  None    0   
    status  tinyint(1)  No  None    0   
    view    int(8)  No  None    0   
    post_added  datetime    No  None    0000-00-00 00:00:00

post_rate   int(8)  No  None    0   
    ip  varchar(32) No  None    NULL    
    post_icon   varchar(128)    No  None    default.png

    forum_reply_id  int(11) No  Primary NULL    auto_increment
    forum_post_id   int(11) No  None    NULL    
    forum_category_id   int(11) No  None    NULL    
    forum_reply_description mediumtext  No  None    NULL    
    customer_id int(11) No  None    0   
    forum_reply_author  varchar(255)    No  None    NULL    
    forum_reply_email   varchar(128)    No  None    NULL    
    is_notify   tinyint(1)  No  None    0   
    status  tinyint(1)  No  None    0   
    reply_added datetime    No  None    0000-00-00 00:00:00 
    reply_rate  int(8)  No  None    0   
    ip  varchar(32) No  None    NULL    
    reply_icon  varchar(128)    No  None    default.png
4

2 に答える 2

0
SELECT DISTINCT post_added, forum_post_author, forum_post_id, forum_category_id 
FROM forum_post WHERE forum_category_id = 1 
UNION 
SELECT DISTINCT reply_added, forum_reply_author, forum_reply_id, forum_category_id 
FROM forum_reply WHERE forum_category_id = 1 
ORDER BY post_added DESC LIMIT 1

あなたがやっていることをやろうとしているなら、これをやるべきだと思います(しかし、私もそのプロではありません)。

詳細はこちら: ORDER BY を使用して 2 つの異なるテーブルから 2 つの異なる列を表示する

于 2013-02-27T08:45:35.543 に答える
0

UNIONステートメントで 2 つのテーブルを組み合わせるために使用すると、次のSELECTように役立ちます。

SELECT
    forum_post_author,
    post_added,
    forum_post_id,
    forum_category_id,
    'post' as type
FROM
    forum_post
WHERE
    forum_category_id = 1

UNION
SELECT
    forum_reply_author,
    reply_added,
    forum_reply_id,
    forum_category_id,
    'reply' as type
FROM
    forum_reply
WHERE
    forum_category_id = 1

ORDER BY
    post_added DESC
LIMIT 1

SQL フィドル

于 2013-02-27T08:49:55.713 に答える