返回表结果在join子句中 - mysql

时间:2017-06-01 04:38:04

标签: mysql sql select join

我试图将我的数据表中的记录拉到一个数据视图中,并结合我的表 \ temp \ / b>和 gndsale 。我有不同的类型,我可以在gndsale中找到我的结果(例如,声明 - 类型22,计算 - 类型4 )。在我的表格列已声明 ..我可以提取我的类型为22的记录,但对于已计算 ...我必须拉出表格的总和得到我的结果。

这是我的疑问:

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

我也希望得到DECLARED

结果如下:

enter image description here

我试图加入这个并将我的select语句放在select语句中......但它没有给我任何结果。 你能帮帮我吗? :(

2 个答案:

答案 0 :(得分: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 :(得分:-1)

我修好了它:) 我可以在我的桌子上使用双别名(例如gndsale a,gndsale b)并确定类型:)