著者に基づく本の検索機能を実装しています。照会された著者によって書かれたすべての本を含む照会結果を返す必要があります。ただし、特定の著者名のクエリが複数の結果を返す可能性があります (たとえば、"Smith, W" のクエリは、"Smith, Wesson" と "Smith, Will" に一致する場合があります)。
したがって、私の問題は、これらの異なる著者によって書かれたすべての本を「連結」する方法です。複数の作成者がクエリに一致する可能性を考慮しない場合は、次のようなことを行います (私の実際のコードは現在非常に面倒なので、疑似コードで):
- 著者テーブルで著者を検索
- クエリに一致する
- 著者のオーソリッドを取得する
- book テーブルで同じ authorid を持つ書籍レコードを検索する
ただし、複数の著者の可能性があるため、次のようなことを念頭に置いています。
// search author table for authors matching the query
foreach(author_match as am){
// search book table for book records with authorid=am.authorid
// Is there such thing as this? :\
book_results += all the rows returned by previous query
}
return book_results;
私はこれを PHP (CodeIgniter Framework を使用) と MySQL で行っています。これを可能にする関数/演算子はありますか? +=
はい、あまり期待していなかったとしても、醜い出力を試してみました。
繰り返しになりますが、疑似コードについてお詫び申し上げます。コードをクリーンアップしてできるだけ早く編集しようとしますが、その前に答えがあれば、それは素晴らしいことです. ありがとう。