「ID」と「メッセージ」を持つテーブルAと、注文された別のテーブルBがあります。テーブル B の順序に従ってテーブル A を並べたいと思います。
例 - テーブル A:
ID Message
-------------
1 ABC
2 DEF
3 HIJ
4 KLM
5 NOP
表 B:
ID
---
5
2
4
1
3
期待される結果:
ID Message
-------------
5 NOP
2 DEF
4 KLM
1 ABC
3 HIJ
次のクエリがあります。
SELECT DISTINCT s.message, s.stream_id
FROM Stream s
ORDER BY ..... ;
どうすればいいですか?どうやらFIND_IN_SETを使用しても、テーブルBの順序は考慮されていません
アップデート
テーブル B は次のように並べ替えられます。
SELECT stream_id
FROM SearchCache
GROUP BY stream_id
ORDER BY COUNT(stream_id);
したがって、クエリは次のようになります。
SELECT DISTINCT s.message, s.stream_id
FROM Stream s
ORDER BY s.stream_id *SOMETHING* (SELECT stream_id
FROM SearchCache
GROUP BY stream_id
ORDER BY COUNT(stream_id)) ASC;