0

削除されていない、アクティブ、言語、日付、アクセス権などの多くの条件をチェックする複数のテーブルに対する複雑な MySQL クエリを使用する関数があります。したがって、すでに複数の if-else が含まれています。

ここで、既存のクエリと非常によく似た別のクエリを作成する必要があります。このクエリでは特定のカテゴリのみを異なる順序でクエリし、別のクエリでは関連性計算を使用してタイトルのキーワードを検索します。

http://pastebin.com/3NY1s1gUhttp://pastebin.com/RqpzqWrK (テーブルと列の名前は事前定義されています 。そこでは何も変更できません。)

if-else をさらに追加したり、既存のクエリをコピーして貼り付けたりしたくありません。これは、多くの冗長なコードや保守が難しいコードを作成するためです。

この問題にアプローチする設計パターンはありますか?

4

1 に答える 1

0

私はあなたの要件についてあまり明確ではありません。これはあなたを助けるかもしれないと思います。

最初のクエリを2番目のクエリのテーブルとしてインラインクエリとして使用できますが、コピーペーストは再埋葬されます。

于 2012-05-07T08:25:55.187 に答える