• ベストアンサー

Microsoft Access のSQL文

こんばんは  よろしくお願いします。 今、J1出場とJ2出場の合計が100以上の選手名とJ1出場,J2出場を抽出 という問題を解いているのですが、この答えとして、 SELECT 選手名,J1出場,J2出場 FROM 選手一覧 WHERE ('J1出場' + 'J2出場') >= 100 というのを打ちました。 しかし、抽出条件においてデータ型が一致しませんというエラーメッセージがでてしまい困っています。 だれかご教授ください。

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

  • ベストアンサー
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

まずは WHERE ('J1出場' + 'J2出場') >= 100 の ’ を取り除いて WHERE (J1出場 + J2出場) >= 100 にしてみてください。

tatsunami
質問者

お礼

早速のご回答ありがとうございます。 おかげさまでできました!! このばあい ' をつけちゃうと文字列と判断されてしまうからエラーが出るのですか?よろしければおしえていただきたいのですが・・・。

その他の回答 (2)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.3

> ' をつけちゃうと文字列と判断されてしまう フィールド名・変数名は「入れ物の名前」であって、その値ではありません。 演算なさりたいのは「入れ物の中身」ですので、「そのとおり」です。 #2さんのご指摘のとおり、日本語(漢字)名の場合は[]で囲む癖をつけると良いかも(自動で付与されはしますが)

tatsunami
質問者

お礼

は・早い・・・。 やっぱり文字列(「入れ物の名前」)として判断されてしまうんですね・・・う~んムズカシイです。まだ参考書片手に一文字一文字うってる段階なんで(笑) これからもよろしくお願いします。

  • NNori
  • ベストアンサー率22% (377/1669)
回答No.2

'J1出場' では 文字列になっちゃいます。文字列と文字列を+(結合)して100という整数と比べているのでエラーになってます。 アクセスの場合フィールド名を示したければ [J1出場] とやるのでは?

tatsunami
質問者

お礼

こちらも早い回答本当にありがとうございます。 おがさまで回答者様の方法でもできました! でも、問題では [ ] の括弧は使えないんですよね・・・。 でも、違うやり方を教えていただけて本当によかったです。 またよろしくお願いします。 まだ5・6問残ってるんで・・・(笑)

関連するQ&A