我正在尝试设计一个将执行以下操作的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数据库。任何和所有建议都将受到欢迎。