0

我想根据另一个查询订购结果。这是我的查询:

"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,但我希望你明白我的意思。

4

2 回答 2

1

也许你的意思是这样的?您必须在 select 中添加其他列名

SELECT status, date 
  FROM red_table INNER JOIN blue_table ON red_table.ID = blue_table.ID 
   GROUP BY 1, 2
于 2013-02-21T00:18:19.807 回答
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不会显示任何内容。

于 2013-02-21T00:16:57.187 回答