2
我将以下内容用作按预期工作的较大查询的一部分。将Select添加到选择中的Listagg的每一行
在我的情况下,一些出货单编号可以有多个商品编号,然后通过下面的编号进行汇总。
例如:
发货人编号有3个编号。
在这种情况下,以下将返回3个项目(包括它们的详细信息)和3个此货运单ID的总价格。
是否有任何方式我可以总结每个航运ID的总价格?
假设上面例子中的总价格是10.00,20.00和30.00,那么我希望看到这个货运单ID为60.00的总数。
如果更容易,可以将其显示在单独的列中。
我尝试了多种方法,但无法使其正常工作。
我的查询:
SELECT
c.SHIPPER_ID AS Identnummer
, LISTAGG
(
'ITEM NO.: ' || m.ITEM_NUMBER ||
' -nl-ARTICLE NAME: ' || a.ARTICLE_NAME ||
' -nl-NET PRICE: ' || m.NET_PRICE ||
' -nl-TAX: ' || NVL(m.TAX, 0) ||
' -nl-GROSS_PRICE: ' || (m.NET_PRICE + m.TAX),
' -nl--nl-'
) WITHIN GROUP (ORDER BY m.SHIPMENT_ID) AS Article
FROM
myTable m
/* ... */
谢谢,戈登。也许我没有很好地描述它。假设我有100个发货人ID。然后他们中的一些人只有一件物品,所以这里这个货运人ID的总金额与该物品的总价相同。但是,如果发件人ID有多个项目,那么我需要计算他们的总和,在我想的列表中。您的方法不起作用,因为listag以外没有总价。我看错了吗? – keewee279
@ keewee279。 。 。你有组件值,所以你可以把这个表达式放在'SUM()'中。 –
谢谢。对不起,我是Oracle新手。因此,如果货运单ID有多个净价格和税金,这也可以起作用。 – keewee279