2017-06-08 13 views
0

入力ボックスに対応するいくつかの条件を持つWHERE節で構成されるクエリを実行して、フォームと入力欄にいくつかのボタンを表示します。 ユーザーがよく、または、すべての入力ボックスに記入しないかもしれないので、私はちょうど上のすべての列で定義済みクエリを持ちたい句のような場所:Python、Sqlite - クエリのWHERE句で条件を中和する方法はありますか?

column01=? AND column02=? AND ... AND columnN=? 

、その後は、単に私が構築したタプルやリストを持っていますWHERE句の列が配列され、それぞれの入力が""(入力されていない)のみであるかどうかがチェックされ、そうであればリストのそれぞれの場所にが割り当てられます何かその特定の条件を透明にします。

"SELECT * FROM sometable" 
:望ましい

"SELECT * FROM sometable WHERE column01=* AND ... AND columnN=*" 

は、このクエリのように動作する:自分自身を明確にするために、ユーザーは(そのことは、アスタリスクだろうと想像)入力ボックスを満たしていない場合は何を意味するかを見ます

は、どの列にも制約がありません。これは信用できますか?

+0

[好きなオプション](https://dev.mysql.com/doc/refman/5.7/en/pattern-matching.html)を確認してください。 –

+0

@ Christos Papoulas正確かつ簡潔な回答をありがとうございます。 – Ali

答えて

0

上記のChristosが正しく指摘したように、SQLクエリのパターンマッチングはこれを行う方法であり、他の多くの複雑なものがたくさんあります。 私は、平等記号の代わりにLIKEを使用し、透明にしたいすべての条件に'%'を割り当てる必要があります。詳細情報here

関連する問題