2016-12-05 74 views
-3
SELECT sum(l.interestrt*d.bidspotrate) AS [Interest Rate in MYR], 
     SUM (l.interestsprd * d.bidspotrate), sum(l.penaltyrt*d.bidspotrate) 
FROM loan l, 
    danadb d 

如何總結上面的所有sql語句?我不知道如何總結不同的列。 謝謝。如何總結sql語句

+2

在這個問題上你可以找到十幾種在線解決方案。 – Susang

+2

你有沒有想過簡單地添加值? – aaaaaa123456789

+0

'+'一個魔術師這麼做:-) –

回答

0

這是怎麼回事?

SELECT SUM (L.INTERESTRT * D.BIDSPOTRATE) AS "Interest Rate in MYR", 
     SUM (L.INTERESTSPRD * D.BIDSPOTRATE), 
     SUM (L.PENALTYRT * D.BIDSPOTRATE) 
    FROM LOAN L CROSS JOIN DANADB D 
+0

謝謝你回答:),但是你剛剛給出的查詢與我的結果一樣。 – mir

0

@Mir試試這個

(select sum(l.interestrt*d.bidspotrate) as 'Val1', 
    SUM (l.interestsprd * d.bidspotrate) as 'Val2', 
    sum(l.penaltyrt*d.bidspotrate) as 'Val3' , 
    (SUM(Val1) + SUM(Val2) + SUM(Val3)) as 'Total' 
from loan l inner join danadb d on l.someid = d.someid 
+0

謝謝你回答:),但是在運行你的查詢的時候出現了錯誤,在第4行說val1,val2和val3的列名無效。 – mir

0

你可以試試這個,它會給你你所期望的輸出:

select (one+two+three) as [Interest Rate in MYR] from 
(select sum(l.interestrt*d.bidspotrate) as [one] 
    SUM (l.interestsprd * d.bidspotrate) as [two], 
    sum(l.penaltyrt*d.bidspotrate) as [three] 
from loan l,danadb d) t 

OR

select (sum(l.interestrt*d.bidspotrate)+ 
    SUM (l.interestsprd * d.bidspotrate)+ 
    sum(l.penaltyrt*d.bidspotrate)) as [Interest Rate in MYR] 
from loan l,danadb d 

注意:你可以擺脫這些老式的加入和我從表格中共用一列來填充:

FROM loan l 
INNER JOIN danadb d ON d.<id> = l.<id> 
+0

我得到了結果。非常感謝 :) 。祝你有美好的一天:D – mir

+0

再次感謝你。第二個查詢也產生相同的結果:) – mir

0

也許只是添加它們?

SELECT SUM (L.INTERESTRT * D.BIDSPOTRATE) 
     + SUM (L.INTERESTSPRD * D.BIDSPOTRATE) 
     + SUM (L.PENALTYRT * D.BIDSPOTRATE) 
      AS "Interest Rate in MYR" 
    FROM LOAN L CROSS JOIN DANADB D 
+0

哦,是的,我根本沒有考慮它。該查詢產生我想要的結果。再次感謝你 :) – mir