• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:[SQL]同テーブルのデータ取得について2)

[SQL]同テーブルのデータ取得について2

このQ&Aのポイント
  • 質問番号1に回答例1が入力され、かつ質問番号2に回答例2が入力されているIDをテストテーブルから取得するためのSQLを作成します。
  • 回答が範囲指定された場合でも1件しか取得しない方法を知りたいです。
  • 重々難しいことですが、回答条件を含めたSQLの作成方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.2

「回答」フィールドは数値型なんですね。 「質問番号1に回答(=1)が入力され、かつ質問番号3に回答(1以上10以下)が入力されているIDをテストテーブルから取得したい」 という場合は、以下の通りです(何パターンも書き方はあります) SELECT DISTINCT ID FROM test_table t WHERE EXISTS (SELECT NULL FROM test_table WHERE ID=t.ID AND 質問番号=1 AND 回答=1) AND EXISTS (SELECT NULL FROM test_table WHERE ID=t.ID AND 質問番号=3 AND 回答 BETWEEN 1 AND 10) 理解が違ってたら教えてください。

Hakurinko
質問者

お礼

お礼が遅くなりまして申し訳ございませんでした。 範囲指定であればさらにSQLを記述し1件をとってくるようにしようとしましたが、データ量が多くかなりの時間がかかりやめました。 おっしゃられた方法で対応いたしました。 ありがとうございました。

その他の回答 (1)

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

対応は可能と思いますが、回答3というフィールドがいきなり登場したので、データとしてはどういう入り方をしてくるのか、もう少しぐらい的に示していただけませんか。

Hakurinko
質問者

補足

失礼いたしました。 質問番号3の回答の範囲でした。 回答3,4,5 のそれぞれの値が2,4,11とした場合、 回答 >= 1 and 回答 <= 10 存在するか、1件のみ取得したいのです。 上記場合でしたら、2か4 それとも存在するかしないか という一つの答えがほしいです。 かなり無理そうですかね

関連するQ&A