2017-06-01 43 views
0

我想從我的數據表中拉出一條記錄到一個dataview結合我的表empgndsale。我有不同類型我可以得到我的結果,可以在gndsale找到(例如,宣稱 - 類型22,計算 - 類型4)。在我的表列宣稱 ..我可以拉起我的類型是22的記錄,但是對於計算 ...我必須拉起表的總和才能得到我的結果。返回表結果在一個連接子句 - mysql

這裏是我的查詢:

select g.DOB 
    , e.firstname 
    , (select g.AMOUNT 
      from gndsale where g.type = 22 
      and g.ID IN (select e.ID from emp) 
     group by g.ID) as DECLARED 
    , ROUND(SUM(g.amount), 2) as CALCULATED 
from emp e JOIN gndsale g ON e.ID = g.ID 
where g.type = 4 GROUP BY G.ID 

下面是結果:

enter image description here

我想也得申報以及

下面是結果:

enter image description here

我試圖加入這個,並把我的select語句放在select語句中......但它沒有給我任何結果。 你能幫我嗎? :(

+1

請把你的表放在http://sqlfiddle.com/所以我們可以打電話瞭解並分享有問題的鏈接 –

+0

那組通過無效。不會在較新的MySQL版本上執行(除非在兼容模式下),將使用舊版本返回不可預知的結果......一般的GROUP BY規則說:如果指定了GROUP BY子句,SELECT列表中的每個列引用必須標識一個分組列或者是設置函數的參數。 – jarlh

回答

0

試試這個.....因爲我不知道表結構....

select g.DOB 
    , e.firstname 
    , (select sum(isnull(g.AMOUNT,0)) 
      from gndsale where g.type = 22 
      and g.ID IN (select z.ID from emp z where z.ID=e.ID) 
     group by g.ID) as DECLARED 
    , ROUND(SUM(g.amount), 2) as CALCULATED 
from emp e JOIN gndsale g ON e.ID = g.ID 
where g.type = 4 GROUP BY G.ID 
-1

我已經固定它:)
我可以只使用雙別名(如gndsale一,gndsale b)在我的桌子上,並確定類型:)

+0

請中示出的查詢.... – Ravi

+0

查詢:SELECT a.DOB,a.Amount如聲明的, SUM(c.Amount)計算爲FROM gndsale一個 INNER JOIN EMP B關於a.ID = b.ID INNER JOIN gndsale c ON b.ID = c.ID WHERE a.type =「22」AND c.type =「4」GROUP BY b.ID –

相關問題