2011-10-27 14 views
2

既存のテーブルからデータをエクスポートする必要があります。最近まで私が使用 -SQL:第3のフィールドに応じて、2つのフィールドの1つを選択する方法

SELECT item_ID, item_Info, ...moreFields... FROM tableName WHERE myCondition=0 

を今、彼らはテーブル構造を変更し、新しいフィールド "item_Info2" 彼らは表に記入

追加: "ITEM_TYPE" が1である場合

  • を「ITEM_TYPEは」5の場合または2または3または4、そして「item_Infoは」
  • 関連性があること、そして「item_Infoは」空である、と私は私のクエリの結果として、代わりに「item_Info」
0の「item_Info2」が必要

対応するSELECTコマンドとは何ですか?

[似質問:mysql select any one field out of two with respect to the value of a third field

が、この例から、私はmoreFieldsを選択するための構文を見ることができない]

おかげで、

Atara。

答えて

8

あなたは、他の列名としてCASE文を扱うあなたが前と後にカンマを必要とする、あなたのケースで、単一の列名考慮しなければならないCASEに何が起こるなど、コンマ、と他の列からそれを分離することができますそれ。

SELECT item_ID, CASE WHEN item_Type = 5 THEN item_info ELSE item_info2 END AS 'item_info', field_name, another_field_name ...moreFields... FROM tableName WHERE myCondition=0 
2

他の質問に回答を編集するには:

SELECT 
    item_id, item_otherproperty, 
    CASE WHEN item_Type= 5 
    THEN item_Info2 
    ELSE item_Info 
    END AS `info` FROM table ... 
+0

Upvotedこの答えをので、あなたは、クエリからの結果を得ることが容易であることを、エイリアスを使用することができ

SELECT item_ID, CASE WHEN item_Type = 5 THEN item_info ELSE item_info2 END, field_name, another_field_name ...moreFields... FROM tableName WHERE myCondition=0 

垂直方向の配置は、受け入れられた回答の水平方向の配置よりもコードを理解しやすくします。 –

関連する問題