電子書籍の厳選無料作品が豊富!

sqlビギナーです。
TABLE1には列A,Bがあり下記のようなレコードが入っています。

TABLE1
----------------------
A | B
----------------------
MTB-L1-1 | 10
MTB-L1-2 | 15
MTB-L1a-1 | 20
MTB-L2-1 | 30

HENSU='MTB-L'の情報があり
このHENSUを使って、MTB-L1-1,MTB-L1-2 のみ注出したいのですが
どのようなSQLにすればいいでしょうか。

"SELECT * FROM TABLE1
WHERE (((Left(A,6))='" & HENSU & "'));
だとL1aも選んでしまいます。

環境
Windows XP
MS Sql Server
開発 VB6

A 回答 (3件)

「MTB-L1の後ろは"a"であってはいけない」ならば、「MTB-L1の後ろは"-"でなくてはいけない」として検索条件を書くしかないと思います。



"SELECT * FROM TABLE1
WHERE A LIKE '" & HENSU & "-%'"
    • good
    • 0
この回答へのお礼

教えていただいたSQLで解決いたしました。
ありがとうございました。

お礼日時:2009/07/08 11:12

ワイルドカードを使用してはどうでしょうか?


"SELECT * FROM TABLE1
WHERE (((Left(A,6)) LIKE '" & HENSU & "%%%'));
    • good
    • 0

詳しくはないですが。



>MTB-L1-1
>MTB-L1-2

>MTB-L1a-1

>HENSU='MTB-L'
の条件は満たしてしまうからでは?

HENSU='MTB-L1-'
と、区分けできる範囲まで入れないと無理かな?と感じました。
    • good
    • 0

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