我想根据其他查询排序结果。这是我的疑问:
"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
,但我希望你明白我的观点。
答案 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
内的任何内容。