主キーとして ID 列を持ち、外部キーであるカテゴリ ID を持つ製品のリストがあります。特定の方法でそれらを上書きしたいと考えています。
ID | Name | CategoryID
----------------------------
1 | one | 1
2 | two | 2
3 | three | 1
4 | four | 3
5 | five | 5
6 | six | 4
7 | seven | 2
8 | eight | 1
上記が私のテーブルの場合。次のようなSQLでそれらを取得したい
カテゴリ 5 のすべての製品が最初に表示される必要がある特定の方法でこれらの製品を注文する場合、次のようなクエリを実行しています。
SELECT * FROM Product ORDER BY CategoryID IN (5), ID
これはうまく機能します。
しかし今、私は最初にカテゴリID 5を表示し、次にカテゴリID 2を最初に表示し、残りを表示する必要があります
私が試したら
SELECT * FROM Product ORDER BY CategoryID IN (5), CategoryID IN (2), ID ASC
それはうまくいきません。
助言がありますか