如何使用行内函数和单个字段设计Select语句

时间:2016-01-05 16:06:06

标签: sql db2

我正在尝试设计一个将执行以下操作的SELECT语句。

我正在创建一个报告,显示文件编号,与文件编号关联的语句值,从与文件编号关联的所有发票构建的总发票值,然后是语句和发票值(如果有)。最后它显示了付款到期日。

报告仅显示总发票与报表价值之间存在差异的文件。它也仅受到标记为应付款(非“V”)的发票,某些收费代码以及未被“标记”处理的发票的限制。

数据分为三个表格。 IMPSTATP用于文件级别,包含文件号和语句值。另外两个是Invoice标题和Invoice paid文件。

现在很明显我下面的内容不起作用,但是我遇到了一些困难,可视化单个选择语句。

SELECT
    P.OFFIV, FILEST, TOTDST, PDUEST,
    sum(P.AMTPIV - P.DTDCIV),
    TOTDST - sum(AMTPIV - DTDCIV) 
FROM
    IMPSTATP
JOIN ACCIHEDP AS H ON FILEST = H.FILEIV and BKRST = H.BKRIV
JOIN ACCIPBLP AS P ON H.INVIV = P.INVIV and H.BKRIV = P.BKRIV and H.OFFIV = P.OFFIV
WHERE
    H.VDPDIV <> 'V' AND 
    (P.CHGPIV = '011' OR
    P.CHGPIV = '012' OR
    P.CHGPIV = '093') AND
    P.VNNMIV <> 'FLAGGED'
GROUP BY FILEST
HAVING
    TOTDST - sum(P.AMTPIV - P.DTDCIV) <> 0;

请记住,这是IBM iSeries上的旧DB2数据库。任何和所有建议都将受到欢迎。

0 个答案:

没有答案