SAP B1 使用 Unions 和 Where 日期选择

SAP B1 using Unions and Where date selection

我需要有关 运行以下查询的帮助,日期选择不起作用。我究竟做错了什么?我想 运行 一个 "Sales register" 的可变日期显示一份报告中的所有销售和信用 - 它需要与销售分析中的总数保持一致。

SELECT T0.[DocDate], T0.[DocNum], T0.[CardCode], T0.[CardName],T0.[DocTotal], T0.[VatSum] FROM OINV T0

UNION ALL

SELECT T0.[DocNum], T0.[CardCode], T0.[CardName], -1 * T0.[DocTotal], -1 * T0.[VatSum] FROM ORIN T0

WHERE T0.DocDate>='[%0]' and T0.DocDate<='[%1]'

您给出的查询根本不会 运行 - 子查询中的列数不同。如果要联合,它们必须具有相同的列数和相同的类型。

除此之外,您还有 2 个子查询 - 一个来自 OINV,一个来自 ORIN,日期过滤器仅应用于 ORIN 子查询。

试试这个,它应该可以解决这些问题。

SELECT T0.[DocDate], T0.[DocNum], T0.[CardCode], T0.[CardName],T0.[DocTotal], T0.[VatSum]
FROM OINV T0
WHERE T0.DocDate>='[%0]' and T0.DocDate<='[%1]'

UNION ALL

SELECT T0.[DocDate], T0.[DocNum], T0.[CardCode], T0.[CardName], -1 * T0.[DocTotal], -1 * T0.[VatSum]
FROM ORIN T0
WHERE T0.DocDate>='[%0]' and T0.DocDate<='[%1]'