クエリの1つに条件を挿入したいのですが、その方法がよくわかりません。基本的に、私は一連のファイルをそれらのフォルダー_id、つまりそれらが属するフォルダーでソートしています(folder_idによる順序を使用)。これらのファイルグループごとに、特定の条件を満たす最初のファイルを選択するためのクエリが必要です。フォルダ内のどのファイルでもその条件が満たされない場合、クエリはフォルダ内で利用可能な最初のドキュメントを選択する必要があります。
これは私のクエリです(簡略化):
select folder_id,
file_id,
first_name
from f_file
where first_name = 'John'
order by folder_id
だから、私の結果が今なら:
FOLDER ID FILE ID AUTHOR
A 32 John
A 41 John
A 56 Thomas
A 78 Peter
B 02 Peter
B 03 Peter
B 45 Peter
C 34 John
C 56 Thomas
C 77 Peter
C 86 John
D 12 Peter
D 34 Thomas
D 89 Thomas
フォルダーごとに、Johnによって作成された最初のドキュメント(最小のfile_id)のみをクエリに表示したいと思います。そのフォルダにJohnによって作成されたドキュメントがまったくない場合は、他の作成者の最初のドキュメントよりも作成されます。
FOLDER ID FILE ID AUTHOR
A 32 John
B 02 Peter
C 34 John
D 12 Peter
したがって、IDは最低である必要がありますが、作成者はJohnまたは別のIDである必要があります。私の考えは、IF EXISTS
条項に条項を挿入するWHERE
ことですが、それを行うにはどうすればよいですか?
ご回答ありがとうございます。ヴァル