数据转置,SQL

时间:2014-01-21 12:21:10

标签: sql

我的SQL表中有大约5000行。 我有两列'name1'和'name2'。而现在,棘手的部分。我必须将'name1'中的数据放入'name2',来自'name2'的数据应该放在'name1'中......我知道我可以为这个动作制作额外的列,但我感觉更好,更快的方式来做到这一点。 重要的一点是我不能为所有行而是针对特定部分(约50%)执行此操作,仅适用于'WHERE type ='p''; - )

1 个答案:

答案 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;