我很新的写作SQL
和我正在努力与此代码。我有4张桌子,我没有得到正确的结果。我认为这可能与joins
有关,但我不确定如何继续。数量*金额没有产生正确的数字,并且Deprec
金额和LTD
数额在每隔一行重复。错误的结果与总和
SELECT pa.BUSINESS_UNIT,
pc.DEPTID,
pa.ASSET_ID,
pa.DESCR,
pa.IN_SERVICE_DT,
pc.COST,
pc.QUANTITY,
sum(pc.COST * pc.QUANTITY) AS Total_Cost,
pb.METHOD,
pb.LIFE,
pdr.DEPR,
pdr.DEPR_LTD
from PS_ASSET pa
inner join PS_COST pc on pc.ASSET_ID = pa.ASSET_ID and pc.BUSINESS_UNIT = pa.BUSINESS_UNIT
inner join PS_BOOK pb on pb.ASSET_ID= pa.ASSET_ID and pb.BUSINESS_UNIT = pa.BUSINESS_UNIT
inner join PS_DEPR_RPT pdr on pdr.ASSET_ID= pa.ASSET_ID and pdr.BUSINESS_UNIT = pa.BUSINESS_UNIT
where pa.BUSINESS_UNIT = 'A0057'
and pa.ASSET_ID = '000000000020'
and pb.BOOK = 'PERFORM'
and pdr.FISCAL_YEAR = '2014'
and pdr.ACCOUNTING_PERIOD = '12'
group by
pa.BUSINESS_UNIT,
pc.DEPTID,
pa.ASSET_ID,
pa.DESCR,
pa.IN_SERVICE_DT,
pc.COST,
pc.QUANTITY,
pb.METHOD,
pb.LIFE,
pdr.DEPR,
pdr.DEPR_LTD
下面是我得到的结果:
A0057 000000000020 Vehicle Equipment 50 1 650 4.16 8.33
A0057 000000000020 Vehicle Equipment 50 1 650 43.75 87.5
A0057 000000000020 Vehicle Equipment 1000 1 13000 4.16 8.33
A0057 000000000020 Vehicle Equipment 1000 1 13000 43.75 87.5
A0057 000000000020 Vehicle Equipment 100 2 2600 4.16 8.33
A0057 000000000020 Vehicle Equipment 100 2 2600 43.75 87.5
我已经删除DeptID
,Method
,并且Life
从结果,使他们适应这里。
谢谢你的帮助。这将是一个非常缓慢的学习曲线。我非常感谢你对这个解释的帮助。 – Shaves
@Shaves如果有任何鼓励,我大概在14个月前从未见过sql。你可能会比你想象得更快。 – Jenn
珍恩.........这个伎俩。现在我刚刚摆脱Depr和Depr_LTD系列中的重复内容,我认为我很好走 – Shaves