我很新的寫作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