- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:[SQL]同テーブルのデータ取得について2)
[SQL]同テーブルのデータ取得について2
このQ&Aのポイント
- 質問番号1に回答例1が入力され、かつ質問番号2に回答例2が入力されているIDをテストテーブルから取得するためのSQLを作成します。
- 回答が範囲指定された場合でも1件しか取得しない方法を知りたいです。
- 重々難しいことですが、回答条件を含めたSQLの作成方法を教えてください。
- みんなの回答 (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) 理解が違ってたら教えてください。
その他の回答 (1)
- jamshid6
- ベストアンサー率88% (591/669)
回答No.1
対応は可能と思いますが、回答3というフィールドがいきなり登場したので、データとしてはどういう入り方をしてくるのか、もう少しぐらい的に示していただけませんか。
質問者
補足
失礼いたしました。 質問番号3の回答の範囲でした。 回答3,4,5 のそれぞれの値が2,4,11とした場合、 回答 >= 1 and 回答 <= 10 存在するか、1件のみ取得したいのです。 上記場合でしたら、2か4 それとも存在するかしないか という一つの答えがほしいです。 かなり無理そうですかね
お礼
お礼が遅くなりまして申し訳ございませんでした。 範囲指定であればさらにSQLを記述し1件をとってくるようにしようとしましたが、データ量が多くかなりの時間がかかりやめました。 おっしゃられた方法で対応いたしました。 ありがとうございました。