MySqlのテーブルには、次のフィールドを持つ特定の注文の詳細が含まれています(ここに投稿する必要がない場合もあります) )。MySqlでLIMIT句を使用した場合、サブクエリでは機能しません
- は
- が
- 私はベストセラーの製品を計算する必要が
- 価格
qty_ordered PROD_ID ORDER_ID。私は次のSQL文を使用しています。
SELECT o.prod_id, sum(o.qty_ordered) as qty_ordered, p.prod_img
FROM order_item o, product_image p
WHERE o.prod_id=p.prod_id AND
p.prod_id IN(SELECT prod_id FROM product_image limit 1) AND
order_id IN(SELECT order_id FROM order_table WHERE od_status='Completed')
GROUP BY prod_id
HAVING SUM(qty_ordered)>=5
ORDER BY prod_id DESC
上記のクエリは、ベストセラー商品を計算します。唯一の問題は、上記の文で指定されたサブクエリが動作しないことです。
p.prod_id IN(SELECT prod_id FROM product_image limit 1)
は機能しません。 MySQLは
This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
を文句を言うこのサブクエリは、複数の製品イメージが同じ製品のためにそこにあるproduct_image
テーブルで維持製品の画像を取得し、私はいずれか一方のみを表示する必要があります。
私のサーバーのバージョンは5.1.48です。この状況を回避する別の方法はありますか?