0

我在 forum_reply 和 forum_post 下面有下表。我怎样才能得到最新的帖子或回复,这是匹配forum_category_id的最新的,比如1。我需要检索日期,作者和forum_(帖子或回复)_id,forum_category_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 显示来自两个不同表的两个不同列

于 2013-02-27T08:45:35.543 回答
0

使用UNION在一个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 回答