如何使用ORDER BY子句的查询结果?

时间:2013-02-21 00:11:21

标签: php mysql sql-order-by

我想根据其他查询排序结果。这是我的疑问:

"SELECT * FROM red_table INNER JOIN blue_table ON red_table.ID = blue_table.ID";

我想使用其他查询的结果添加ORDER BY

"SELECT date FROM blue_table WHERE status = 'ready'";

所以决赛将是这样的:

"SELECT * FROM red_table INNER JOIN blue_table ON red_table.ID = blue_table.ID ORDERY BY ( SELECT date FROM blue_table WHERE status = 'ready' )";

我该怎么做?或者有可能吗?

更新 我知道我可以使用ORDER BY blue_table.date,但date列包含日期的值。 blue_table是一种元数据表。因此,我需要将date列中的值与status列进行匹配,以便我只获取日期值并将其用于排序。也许我不应该把它称为专栏date,但我希望你明白我的观点。

2 个答案:

答案 0 :(得分:1)

也许你的意思是这样的?您必须在select

中添加其他列名
SELECT status, date 
  FROM red_table INNER JOIN blue_table ON red_table.ID = blue_table.ID 
   GROUP BY 1, 2

答案 1 :(得分:0)

SELECT * 
FROM red_table 
INNER JOIN blue_table ON red_table.ID = blue_table.ID
WHERE blue_table.status = 'ready'
ORDER BY blue_table.date

请注意,如果blue_table不包含匹配条件,则不会显示red_table内的任何内容。