- ベストアンサー
検索について
検索について SELECT * FROM テーブル名 WHERE 列名 LIKE '条件' を使って検索できるプログラムを作りました。 これにORの条件で列名を追加したいのですが可能でしょうか? 「条件が列名1と列名2のどちらかにあてはまる」といったような。 回答お待ちしています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
or でも where 列名1 like 条件 or 列名2 like 条件; and でも 同じ列を続けても where 列名1 like 条件 and 列名1 like 条件; カッコで括れば、優先してくれます where (列名1 like 条件 or 列名2 like 条件) and 列名3 = 条件;
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.2
#1さんの回答で問題ありませんが、プログラムと絡めてやる場合はちょっとした工夫があります (1)WHEREは常に全表示する WHERE 1 (2)すべての条件はANDでつなぐ WHERE 1 AND 列名1 LIKE '条件1' AND 列名2 LIKE '条件2' (3)ORはANDに負けるのでかならず括弧をつかい、0とのorをとる WHERE 1 AND 列名1 LIKE '条件1' AND 列名2 LIKE '条件2' AND (0 OR 列名3 LIKE '条件3' OR 列名4 LIKE '条件4' ) 時と場合によりますが、これでプログラム側のフローがかなり解りやすくなります