簡體   English   中英

如何在 DB2 Sql 中的上一列下方獲取下一列的值

[英]how to get value of next column below previous column in DB2 Sql

我有一個如下表,我想獲取 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');

表output

姓名 出去 人力資源
鮑勃 登錄 登出 8
愛麗絲 登錄 登出 9
彼得 登錄 NULL 0

預計 Output

姓名 人力資源
鮑勃 登錄 8
鮑勃 登出 8
愛麗絲 登錄 9
愛麗絲 登出 9
彼得 登錄 0
彼得 NULL 0

我需要在 Temp 表上實現上述 output 將 IN 和 OUT 列合並到 IN 列中,如何在 DB2 sql 中實現這一點

一種方法使用聯合:

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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM