根据特定条件在Oracle SQL数据库中添加值
问题描述:
我非常难以找到遇到的问题,并且无法找到答案。根据特定条件在Oracle SQL数据库中添加值
我有两个表,一个名为LEDGER,另一个名为WORKER。 LEDGER包含提供个人姓名,项目,日期和总金额的交易。 WORKER仅包含人员名称。
我试图写一个查询,将通过LEDGER和WORKER(使用equi-join)并找到工作人员在LEDGER中进行购买并输出结果的实例。这基本部分是容易的,我已经写了一个查询它:
SELECT WORKER.NAME,
LEDGER.ITEM,
LEDGER.AMOUNT
FROM LEDGER, WORKER
WHERE WORKER.NAME = LEDGER.PERSON
AND LEDGER.ACTION = 'BOUGHT'
GROUP BY WORKER.NAME, LEDGER.ITEM, LEDGER.AMOUNT
ORDER BY WORKER.NAME ASC;
我有是有所有项目的总和挣扎部分出现,而不是满足这些条件的列表交易。例如,我的输出是:
NAME ITEM AMOUNT
ANDREW DYE COLT 9
ANDREW DYE COLT 10
ANDREW DYE HAY 5
ANDREW DYE HAY 20
ANDREW DYE LINE 0.75
ANDREW DYE PIG 2
HELEN BRANDT BEEF 7.5
PETER LAWSON BEEF 6.5
VICTORIA LYNN BEEF 6.9
取而代之的是,我只想要总金额在一排结合所有项目金额,这样的:
NAME TOTAL_AMOUNT
ANDREW DYE 46.75
HELEN BRANDT 7.5
PETER LAWSON 6.5
VICTORIA LYNN 6.9
我希望这个问题是有道理的,并非常感谢任何答案。
我删除了mysql和sql-server标签,因为这个问题是关于Oracle的。 –
'item'值来自您想要的结果?如果总数是所有项目,为什么包括一个特定项目? –
对不起,关于标签,感谢您的修复。对于混淆抱歉,最终查询应该只显示NAME和AMOUNT(总金额真的)。我将编辑该问题。 – dmcmulle