製品コード、または接続されている場合は代わりにバリエーション コードを返すクエリを使用して、製品テーブルにある変更された属性 (最新の変更された製品を選択するため) で並べ替えます。私の質問があります:
SELECT IF(Length(variation_code) > 0, variation_code, prod_code) AS prod_code,
product.modified,
price
FROM product
LEFT JOIN variation_row
ON product.prod_code = variation_row.product_code
WHERE prod_code IN (SELECT prod_code
FROM product)
AND price > 0
GROUP BY prod_code
ORDER BY modified DESC
LIMIT 6
問題は、同じ製品が連続して複数回変更された場合、結果セットに複数回表示される可能性があることです。
DISTINCT を使用して他の値と異なる値のみを取得することは知っていますが、prod_code を取得するために IF を使用しているため、クエリに実装できませんでした。
スクリプトを変更して同じ結果を返すが、異なる prod_codes を返す方法はありますか?