重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

一つのSQLで下記の様な検索が出来ないかと考えています、
大分類に分けて大分類の中で売れている商品のTOP10を表示し、
現在表示されている商品を抜いた売れている商品TOP100もに表示できるようとしています、
分類のテーブル・商品がどの分類に当てはまるのか関連づけし注文数も保持しているテーブル・商品の売れ行きを保持しているテーブルがあり
分類テーブルには15個(将来的に増える可能性ある)の分類ワードが入っていて、分類別に売れているTOP10を表示し重複部分もあるので最大150個の商品が表示されるようになっています、
全商品の売れ行きTop「表示されている商品プラス100件」を割り出しその中から表示商品はずしてみようと思いこの様なSQL文と作ったのですが今一うまくいっていないような気がします、
「select 商品名 注文数 from 商品テーブル 
  where 商品名 not in(
select 商品名 from 分類商品テーブル where 分類 in (
select 分類 from 分類テーブル )
   order by 注文数 desc limit 10)
order by 注文数 desc limit 表示商品数+100」
どうもうまく表示できていない様な気がしているのですが、
このSQLどうなのでしょうか?
ほかにもっといいSQL文があれば教えてください。





A 回答 (1件)

説明文が不明確だし、ところどころ日本語も変だし、提示されているSQLとも合っていません。



>分類別に売れているTOP10を表示し

提示されているSQLに、「分類別に操作」している部分はないですけど?

>重複部分もあるので最大150個の商品が表示されるようになっています

これは、何についての説明ですか?そういうアプリケーションを作っていて、そこからSQL部分だけを抜き出して、この質問をしているということですか?

こういった内容のアドバイスを求める場合は、次のような情報を最低限、示してください。

(1)表と構成列
(2)各表に入っているデータ例
(3)得たい結果

各表のデータ、得たい結果は、「やりたいことのポイントとなる部分」が分かるものにしてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す