SQL構文と、単一のクエリで特定のアクションが可能かどうかについて質問があります。次の例を考えてみましょう。
レシピテーブルがあるとしましょう。すべてのレシピには、component1、component2などの列に5つの成分がリストされています。また、突然砂糖が不健康であると判断され、すべてのレシピで、存在するすべての成分列で「砂糖」を「人工甘味料」に置き換える必要があるとします。私が遭遇した問題は、材料テーブルがないことです。したがって、すべての材料は、材料IDのようなものを参照するのではなく、文字通り5つの列の1つにリストされます。
可能であれば、次の(疑似)クエリを作成するにはどうすればよいですか?
UPDATE Recipe
(SET ingredient1 = 'artificial sweetener' WHERE ingredient1 = 'sugar') OR
(SET ingredient2 = 'artificial sweetener' WHERE ingredient2 = 'sugar') OR
(SET ingredient3 = 'artificial sweetener' WHERE ingredient3 = 'sugar') OR
(SET ingredient4 = 'artificial sweetener' WHERE ingredient4 = 'sugar') OR
(SET ingredient5 = 'artificial sweetener' WHERE ingredient5 = 'sugar')
現在の値に基づいて列を特定の値に設定することについて、オンラインで複数の記事を見つけましたが、値を含む(特定の)列を設定することだけではありません。どんな助けでも大歓迎です。