【发布时间】:2021-09-06 02:03:27
【问题描述】:
我在使用联接/子查询组合两个查询时遇到问题。
我的第一个查询是提取销售总额(本示例仅提取一个产品):
SELECT
DAB020.ARTNR,
SUM(DAB020.RE_WERT) as "Total Euros",
COUNT(DISTINCT DAB020.ANUMMER) as "Number of Orders"
FROM "DAB020.ADT" DAB020
WHERE DAB020.RE_DATUM >= { d '2021-01-01' } AND DAB020.ARTNR = '123456'
GROUP BY DAB020.ARTNR
示例结果:
ARTNR Total VK € Auftrag Nr
123456 999999,50 60
工作正常,给一篇文章,今年的总销售额+唯一的订单号数。
我的第二个查询(来自不同的表)显示了销售报价的数量:
Select
COUNT(DISTINCT left (DAB055.APNUMMER,6)) as "# offers"
FROM "DAB055.ADT" DAB055
WHERE (DAB055.BUCH_DATUM>={d '2021-01-01'}) // YYYY.MM.DD
AND DAB055.ARTNR = '123456'
示例结果:
ARTNR # offers
123456 120
也可以正常工作,显示文章编号,unqiue 报价数量的计数。
现在我想将报价结果附加到销售结果的末尾:
SELECT
DAB020.ARTNR,
SUM(DAB020.RE_WERT) as "Total Euro",
COUNT(DISTINCT DAB020.ANUMMER) as"Number of Orders",
left join (
Select
COUNT(DISTINCT left (DAB055.APNUMMER,6)) as "# offers"
FROM "DAB055.ADT" DAB055
WHERE (DAB055.BUCH_DATUM>={d '2021-01-01'}) // YYYY.MM.DD
) as results on DAB055.ARTNR = DAB020.ARTNR
FROM "DAB020.ADT" DAB020
WHERE DAB020.RE_DATUM >= { d '2021-01-01' } AND DAB020.ARTNR = '969226'
GROUP BY DAB020.ARTNR
想要的结果:
ARTNR Total VK € Auftrag Nr # offers
123456 999999,50 60 120
但它当然不起作用。两个表之间的链接是 DAB055.ARTNR 和 DAB020.ARTNR,但我不确定如何正确获取语法。
有人可以澄清我的错误吗? 谢谢!
编辑:只是一个注释 - 我在这里只使用一篇文章进行测试。对于最终查询,它将是几百个。
【问题讨论】:
-
也许展示一个输入和输出数据的小模型示例。
-
“追加到末尾”和“它不起作用”不清楚。所以不清楚你希望输出如何成为输入的函数。 minimal reproducible exampleHow to Ask
-
嗨,我已经更新了一些结果示例和预期结果。目前,在运行查询时,我收到消息“未找到预期的词法元素:标识符或表达式”。