我的表看起来像这样:
如果字段名称包含相同lineItemIds的成本或数量,我必须将结果显示为:
成本从8 * 1 = 8变化 (fromVal * fromVal)至9 * 6 = 54 (toVal * toVal)为itemID 123。
任何帮助将不胜感激。
答案 0 :(得分:2)
SELECT tc.LINE_ITEM_ID ITEM_ID,
tc.FROMVAL COST_FROMVAL,
tq.FROMVAL QTY_FROMVAL,
(tc.FROMVAL*tq.FROMVAL) PROD_FROMVAL,
tc.TOVAL COST_TOVAL,
tq.TOVAL QTY_TOVAL,
(tc.TOVAL*tq.TOVAL) PROD_TOVAL,
FROM
(SELECT LINE_ITEM_ID,
FROMVAL,
TOVAL,
FROM table
WHERE FIELDNAME = 'cost') tc
JOIN (SELECT LINE_ITEM_ID,
FROMVAL,
TOVAL,
FROM table
WHERE FIELDNAME = 'quantity') tq
ON tc.LINE_ITEM_ID = tq.LINE_ITEM_ID
答案 1 :(得分:0)
我会研究使用产品聚合函数。您必须自己编译它们,Oracle不会将它们作为系统函数包含在内。 http://radino.eu/2010/11/17/product-aggregate-function/
如果只是针对这种使用成本或数量的情况,那么您也可以使用子查询或基于临时事务的表。
我将为您提供一个查询示例,但遗憾的是目前没有可访问的Oracle实例。