我收到了以下问题:
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
我想为attribute_value
添加一个IF。如果attribute_value
为NULL
,那么我想使用ua.attribute_default
。
我试图在AS之后使用IF语句,但它不起作用......
感谢。
答案 0 :(得分:4)
请尝试使用COALESCE()
,而不是使用IF。它需要多个参数并返回第一个非空值。
COALESCE(attribute_value, ua.attribute_default)