我的SQL表中有大约5000行。 我有两列'name1'和'name2'。而现在,棘手的部分。我必须将'name1'中的数据放入'name2',来自'name2'的数据应该放在'name1'中......我知道我可以为这个动作制作额外的列,但我感觉更好,更快的方式来做到这一点。 重要的一点是我不能为所有行而是针对特定部分(约50%)执行此操作,仅适用于'WHERE type ='p''; - )
答案 0 :(得分:1)
使用case-when有条件地重命名列:
SELECT
CASE WHEN t.type = 'p' THEN t.name2 ELSE t.name1 END as name1,
CASE WHEN t.type = 'p' THEN t.name1 ELSE t.name2 END as name2,
t.type
FROM (your original select) t;