ユーザーとライブラリの2つのテーブルがあります。ライブラリには、特定の方法で分類された本が含まれています。ユーザーは自分の本を特定の方法でソートすることもできます。2 つのテーブルの構造 (およびサンプル データ) は次のようになります。
図書館
bookid 位置
10 1
12 2
14 3
16 4
ユーザー
ユーザー ID ブック ID 位置
12669 12 1
12669 10 2
クエリで、ユーザー 12669 のすべての本を位置順に並べ替えて返すようにします。
select bookid from user where userid = 12669 group by position
これらの並べ替えられた本を返した後、ライブラリにある他の bookid (user には存在しない) を返す必要があります。bookid を繰り返さないでください。これらのシナリオの結果は次のようになります。
12
10
14
16
言い換えれば、ライブラリ内のすべての本はこのクエリによって返されるはずですが、ユーザーが選択した本は user.position に従って並べ替えられて
いるため、これには何らかの結合ステートメントが必要になると思います。私は試しました:
select bookid from user u right join library l on u.bookid = l.bookid where u.userid = 12669 group by u.position
ただし、これには構文エラーが発生します。この「問題」を解決する最善の方法は何ですか? どうもありがとう。