1

次のクエリを取得しました。

SELECT      ua.attribute_id, ma.attribute_name, ma.attribute_type, ma.attribute_default, ma.attribute_format,
    (CASE ma.attribute_type
        WHEN 0 THEN ua.attribute_default
        WHEN 1 THEN ua.attribute_bool
        WHEN 2 THEN ua.attribute_combo
        WHEN 3 THEN ua.attribute_decimal
        WHEN 4 THEN ua.attribute_integer
        WHEN 5 THEN ua.attribute_decimal
    END) AS attribute_value 
FROM        units_attributes AS ua
LEFT JOIN   models_attributes AS ma ON ma.attribute_id = ua.attribute_id
WHERE       ua.unit_id = 1

のIFを入れたいattribute_value。である場合attribute_valueNULL、 を使用しますua.attribute_default

AS の後に IF ステートメントを使用しようとしましたが、機能しません...

ありがとう。

4

1 に答える 1

4

IF を使用する代わりに、 を使用してみてくださいCOALESCE()。複数のパラメーターを取り、最初の null 以外の値を返します。

COALESCE(attribute_value, ua.attribute_default)
于 2012-10-16T16:01:48.360 に答える