按另一个表中的列排序

时间:2015-08-19 13:29:40

标签: mysql sql-order-by

我有两个MySQL表:

web_forums_threads
| tid | title     |
|=================|
| 1   | News Post |

web_forums_posts
| pid | tid | content  | date_created   | date_modified     |
|===========================================================|
| 1   | 1   | Today,.. | unix timestamp | null or timestamp |
| 2   | 1   | I agree! | unix timestamp | null or timestamp |

我希望来自SELECT *的{​​{1}},并使用来自web_forums_threads的最新date_created值并使用正确的相应TID进行排序。

我觉得好像我在Google上找到的结果可能不正确,因为线程可以存在多行。 TID。

我尝试的例子(没有成功): web_forums_posts

语法可能有误,但概念就在那里。我不想在thread表中添加另一个列,因为我只是存储两次信息(第一个帖子充当线程内容)。

2 个答案:

答案 0 :(得分:2)

您必须在两个表之间进行连接

SELECT * FROM web_forums_threads AS WFT, web_forums_posts AS WFP 
WHERE WFT.tid=WFP.tid 
ORDER BY WFP.date_created 

就像那样

答案 1 :(得分:1)

你可以使用而不是JOIN。

SELECT T.tid, T.title
FROM web_forums_threads T 
JOIN web_forums_posts P ON T.tid = P.tid
WHERE fid = :postfid 
ORDER BY P.date_created;