製品の大きなライブラリを示すテーブルがあります。
Kendo Grid を介してテーブルに適用できるフィルターがいくつかありますが、問題は MySQL だけに関係しています。
製品のリストを販売時期でフィルタリングする必要がある日付範囲フィルターがあります。
私が抱えている問題は、製品が複数回販売された可能性があるため、製品ラインが重複することです。たとえば、1 つの製品に対して 4 つの「dateSold」行があるためです。これがなぜなのかはわかっていますが、フィルターの構文を実行する方法がわかりません。
SELECT ...
FROM parts_library
LEFT JOIN parts_sale_dates AS PSD ON PSD.partLibId = parts_library.id
日付フィルターを適用すると、次のようになります。
SELECT ...
FROM parts_library
LEFT JOIN parts_sale_dates AS PSD ON PSD.partLibId = parts_library.id
WHERE PSD.dateSold >= ?
別の問題は、次のことです。
SELECT ...
FROM parts_library
LEFT JOIN parts_sale_dates AS PSD ON PSD.partLibId = parts_library.id
約 500,000 の製品があるため、クエリにロバがかかります。