- ベストアンサー
Microsoft Access のSQL文
こんばんは よろしくお願いします。 今、J1出場とJ2出場の合計が100以上の選手名とJ1出場,J2出場を抽出 という問題を解いているのですが、この答えとして、 SELECT 選手名,J1出場,J2出場 FROM 選手一覧 WHERE ('J1出場' + 'J2出場') >= 100 というのを打ちました。 しかし、抽出条件においてデータ型が一致しませんというエラーメッセージがでてしまい困っています。 だれかご教授ください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
まずは WHERE ('J1出場' + 'J2出場') >= 100 の ’ を取り除いて WHERE (J1出場 + J2出場) >= 100 にしてみてください。
その他の回答 (2)
- bin-chan
- ベストアンサー率33% (1403/4213)
> ' をつけちゃうと文字列と判断されてしまう フィールド名・変数名は「入れ物の名前」であって、その値ではありません。 演算なさりたいのは「入れ物の中身」ですので、「そのとおり」です。 #2さんのご指摘のとおり、日本語(漢字)名の場合は[]で囲む癖をつけると良いかも(自動で付与されはしますが)
お礼
は・早い・・・。 やっぱり文字列(「入れ物の名前」)として判断されてしまうんですね・・・う~んムズカシイです。まだ参考書片手に一文字一文字うってる段階なんで(笑) これからもよろしくお願いします。
- NNori
- ベストアンサー率22% (377/1669)
'J1出場' では 文字列になっちゃいます。文字列と文字列を+(結合)して100という整数と比べているのでエラーになってます。 アクセスの場合フィールド名を示したければ [J1出場] とやるのでは?
お礼
こちらも早い回答本当にありがとうございます。 おがさまで回答者様の方法でもできました! でも、問題では [ ] の括弧は使えないんですよね・・・。 でも、違うやり方を教えていただけて本当によかったです。 またよろしくお願いします。 まだ5・6問残ってるんで・・・(笑)
お礼
早速のご回答ありがとうございます。 おかげさまでできました!! このばあい ' をつけちゃうと文字列と判断されてしまうからエラーが出るのですか?よろしければおしえていただきたいのですが・・・。