テーブルにakey1
、bkey2
などの列があるとしますckey3
。
共通の値を検索する方法はありますか
SELECT * FROM table WHERE %key% LIKE 'xyz'
複数の AND、OR 条件を使用する以外。ソリューションが DBMS 固有のものであるかどうかは関係ありません。
テーブルにakey1
、bkey2
などの列があるとしますckey3
。
共通の値を検索する方法はありますか
SELECT * FROM table WHERE %key% LIKE 'xyz'
複数の AND、OR 条件を使用する以外。ソリューションが DBMS 固有のものであるかどうかは関係ありません。
動的 SQL を除いて、各列名を綴る必要があります。しかし、ちょっとした構文上のショートカットを取得して、定数を 1 回だけリストすることができます。
SELECT * FROM table WHERE 'xyz' IN (akey1, bkey2, ckey3)
動的 sql では、この同じクエリを発行する必要があります...ただし、少なくとも文字列ツールを使用して最初に構築することができます。ワイルドカード マッチングを使用する場合は、information_schema.columns
ビューを調べてそれらを見つけることができます。ただし、これには、カーソルを開いて反復するか、列データをクライアントに返す必要があり、どちらも元のクエリで列名をリストするだけではなく、より多くの作業が必要になります。データベースにクエリを発行する前に、少なくともデータベースについてよく知っていることを願っています。