这是我的查询:
select CASE WHEN ATTRIBUTE_SOURCE is NULL THEN <do calculation>
ELSE ATTRIBUTE_SOURCE END AS ATTRIBUTE_SOURCE,
*
from (<a table containing an ATTRIBUTE_SOURCE column>)
计算工作正常,问题是结果表有两个 ATTRIBUTE_SOURCE
列,一列来自原始表,另一列由 CASE 语句添加。有没有办法将原始表中的 ATTRIBUTE_SOURCE
列完全替换为由 CASE 语句生成的 ATTRIBUTE_SOURCE
列?
最佳答案
问题是通过使用“*”检索表中的所有列。从查询的表中确定您需要的实际列,并在选择列表中明确命名它们,确保排除 ATTRIBUTE_SOURCE。
许多 DBA 都会告诉他们,他们的存在的祸根是查询只获取站点中的所有内容。 SELECT * 很少是正确的选择。
关于mysql - 使用 SQL CASE 语句替换列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49328419/