SQLで複数列から同じワードを一括検索する方法

複数列から1つのキーワードで検索したいのです。

文中の画像は CALC で作成していますが、BASE だと思ってください。
例えば以下のようなテーブル(“料理と食材”)があるとします。

これに対するクエリで

SELECT "食材"
FROM "料理と食材" 
WHERE "料理1" = 'サラダ' 
    OR "料理2" = 'サラダ' 
    OR "料理3" = 'サラダ' 
    OR "料理4" = 'サラダ' 
    OR "料理5" = 'サラダ' 

とすると、

画像の説明

が得られます。ですがこの

WHERE "料理1" = 'サラダ' 
    OR "料理2" = 'サラダ' 
    OR "料理3" = 'サラダ' 
    OR "料理4" = 'サラダ' 
    OR "料理5" = 'サラダ' 

'サラダ'を繰りかえし書くのが面倒です。

これをGROUP BY 関数などで、1度の記載で済ませることはできないでしょうか?
それともこの関数は、集計などの時にしか使用できないのでしょうか?

できれば、HSQLDBFIREBIRD の両方で知りたいです。

この件、自己解決しました。

以下のようにINを使用すればよいのですね。

 SELECT "食材"
 FROM "料理と食材" 
 WHERE 'サラダ' IN ("料理1","料理2","料理3","料理4","料理5")

次はFORM上で、テキストボックス(リスト)を作成し、

‘サラダ’ 以外の様々な料理名を選択するたびに、食材が表示されるようにしたいのですが、

その方法がわからずにいます。



WHERE の後ろの ‘サラダ’ の場所を、動的に入替え(代入?)したいのです。


たぶん、最も基本的な知識なのでしょうが、

皆目わかりません。



別のスレをたてます。



あまりに基本的な質問過ぎて「自分で調べろ」みたいな感じ?でしょうか?

SQLの記載方法に関してはなかなか返信がつきませんが、、



よろしくお願いします。