2016-09-22 13 views
2

150列の値を以下に変更しようとしています。MYSQL-複数の列値の変更

'0 = Not provided' 
' 1 = Yes ' 
' 2 = No ' 

これは、各列のcaseステートメントを使用して実行できました。しかし問題は、作成することがすべてを1つの列に入れてしまうことです。 150件のステートメントを書くことなく、個々の列ごとにそれを行う方法はありますか?列は特定の順序である必要があります。

例:

SELECT CASE 
      WHEN Answer.Question1_ID is null THEN 'Not Provided' 
      WHEN Answer.Question1_ID = 1 THEN 'Yes' 
      WHEN Answer.Question1_ID = 2 Then 'No' 
End as 'Question1', 
    CASE 
      WHEN Answer.Question2_ID is null THEN 'Not Provided' 
      WHEN Answer.Question2_ID = 1 THEN 'Yes' 
      WHEN Answer.Question2_ID = 2 Then 'No' 
End as 'Question2' 

。 。 。 150のcase文を記述することなく回答

+0

これは、このようなテーブルを作成することは決してありません。後で照会することは悪夢になります。 –

+0

WOW ... 150列:D –

+0

質問1 - >質問150がありますか?あなたは本当に本当に本当に本当に本当にそのテーブルを正規化しておいて、子テーブルの簡単な/簡単な更新クエリです。 –

答えて

2

個々の列のためにそれを行う方法がありますから、

あなたは必要であればcase文を書くためのプログラムを使用することができます。

関連する問題