sql - 使用sql查询老化结构

标签 sql sql-server

我有一个类似下面的表结构

TNO DATE        NETAMT  CHQ CASH    PARTY
---------------------------------------------
T1  01/04/2016  100     10  0       TEST1
T2  15/04/2016  50      0   0       TEST2
T3  18/04/2016  100     100 0       TEST3

现在我想做一个 SQL 查询,它会给我一份老化报告,说明哪些事务在哪些 slab 中处于未完成状态。

我想看下面格式的结果

PARTY   0-3 DAYS    4-6 DAYS    7-15 DAYS
---------------------------------------------   
TEST1       0           0           90
TEST2       0           50          0
TEST3       0           0           0

最佳答案

试试这个

SELECT  PARTY,
        SUM(CASE WHEN DATEDIFF(DAY,[DATE],GETDATE()) BETWEEN 0 AND 3  THEN (NETAMT - CHQ) ELSE 0 END) AS [0_3_DAYS],
        SUM(CASE WHEN DATEDIFF(DAY,[DATE],GETDATE()) BETWEEN 4 AND 6  THEN (NETAMT - CHQ) ELSE 0 END) AS [4_6_DAYS],
        SUM(CASE WHEN DATEDIFF(DAY,[DATE],GETDATE()) BETWEEN 7 AND 15 THEN (NETAMT - CHQ) ELSE 0 END) AS [7_15_DAYS],
FROM    TABLE1
GROUP BY PARTY

关于sql - 使用sql查询老化结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36709999/

相关文章:

MYSQL - 根据ID插入多行连接结果

sql - 查找 IP 地址 block 表中的间隙

Mysql 'MATCH AGAINST' 未检索到正确答案

sql - 没有指定排序依据时,SELECT TOP如何工作?

sql-server - SQL Server 2014 禁用所有列属性

sql - 如何将 yyyymm 转换为 Mon-yyyy?

sql - 根据给定的行和列值从表中选择下 n 行

javascript - Dom语言Javascript?

sql - 不使用 ROW_NUMBER() 函数删除重复记录

sql-server - SQL Azure VIEW DATABASE STATE 权限在数据库中被拒绝 'master'