【问题标题】:how to get value of next column below previous column in DB2 Sql如何在 DB2 Sql 中的上一列下方获取下一列的值
【发布时间】:2020-12-08 05:57:02
【问题描述】:

我有一个如下表,我想获取 IN 列下方的 OUT 列值并添加新记录。

    create table Temp (
    [name] varchar(10),
    [In] varchar(10),
    [Out] varchar(10),
    [HRs] varchar(10),
    ); 
    
    insert into Temp values('bob','login','logout','8');
    insert into Temp values('alice','login','logout','9');
    insert into Temp values('peter','login',null,'0');

表格输出

NAME IN OUT HRs
bob login logout 8
alice login logout 9
peter login NULL 0

预期输出

NAME IN HRs
bob login 8
bob logout 8
alice login 9
alice logout 9
peter login 0
peter NULL 0

我需要在 Temp 表上实现上述输出,将 IN & OUT 列组合成 IN 列,如何在 DB2 sql 中实现这一点

【问题讨论】:

    标签: sql db2


    【解决方案1】:

    一种方法使用联合:

    SELECT NAME, "IN", HRs
    FROM
    (
        SELECT NAME, "IN", HRs, 1 AS pos FROM Temp
        UNION ALL
        SELECT NAME, "OUT", HRs, 2 FROM Temp
    ) t
    ORDER BY NAME, pos;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-24
      • 1970-01-01
      • 2022-01-19
      • 1970-01-01
      • 1970-01-01
      • 2015-01-20
      • 2014-10-08
      • 2021-04-16
      相关资源
      最近更新 更多