データベース

【Access】複数条件以外のデータをクエリで抽出するのに苦労

複数条件以外のデータ抽出

複数条件以外のデータをクエリで抽出するという簡単なものですが、なぜか苦労しました。

 

除外する項目を並べる

サンプルとして、テーブル1というのを作成して、対象果物以外を除外するクエリを作成してみました。

抽出条件内に、

not "除外する果物A" And not "除外する果物B" And not"除外する果物C"

というように繋げていけば除外できるようですが、

ココに注意

データが膨大にある状態から処理した時に、どうも挙動がおかしい

 

NOT IN ('A','B')

Andで並べなくてももっと簡単な方法がありました。

NOT IN ("A","B","C")

 

この Not Inを使えば、並べただけの値を除外して抽出してくれました。

レコード数が多い膨大なデータでも問題なく抽出できましたので、こちらの方がスマートな方法なのかもしれません。

 

"*"を使って曖昧抽出

ある部分は同じだけど、語尾の数文字が違うというものを除外したい時もあります。

そんな時は、"*"を使って除外することができました。

NOT IN ("A","B")では、なぜかLike関数はうまくいきませんでした。

NOT IN ("A","B")

 

しかし、Andを使って並べていくと曖昧検索でも期待の値が抽出されました。

NOT IN ("A","B")

 

さすがにAccessですね。色々と癖があります。

こういうもんだという事で覚えておけば無駄な時間を費やさなくても済みますね。

意外と、複数条件以外のデータを抽出するっていうのに苦労しましたので備忘録としました。

-データベース
-, , , , , , ,

Translate »

© 2022 PCTips