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結合条件に一致するものが含まれていない場合、fromは何も表示されないことに注意してくださいred_table

于 2013-02-21T00:16:57.187 に答える