• ベストアンサー

抽出条件で

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

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

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

「MTB-L1の後ろは"a"であってはいけない」ならば、「MTB-L1の後ろは"-"でなくてはいけない」として検索条件を書くしかないと思います。 "SELECT * FROM TABLE1 WHERE A LIKE '" & HENSU & "-%'"

obone
質問者

お礼

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

その他の回答 (2)

  • AKARI0418
  • ベストアンサー率67% (112/166)
回答No.2

ワイルドカードを使用してはどうでしょうか? "SELECT * FROM TABLE1 WHERE (((Left(A,6)) LIKE '" & HENSU & "%%%'));

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

詳しくはないですが。 >MTB-L1-1 >MTB-L1-2 も >MTB-L1a-1 も >HENSU='MTB-L' の条件は満たしてしまうからでは? HENSU='MTB-L1-' と、区分けできる範囲まで入れないと無理かな?と感じました。

関連するQ&A