SQL:子查询与GROUP BY

问题描述:

可能重复:
SQL : How can I use sub query in a query with group by section?SQL:子查询与GROUP BY

有人帮我请。 SQL Server无法在子查询中识别t1.sen。错误消息:无法绑定多部分标识符“t1.sen”。

select 
    t1.sen, 
    sum(t1.d_rooz)as d1, 
    sum(t1.d_shab)as d2, 
    sum(t1.d_rooz+t1.d_shab) as d_sum, 
    Round((sum((1000*(t1.d_rooz+t1.d_shab))/(9500-tc.c))),1) as SSS 
from 
    tbl_talafat_dan t1, (
     select sum(t2.t_shab+t2.t_rooz) as c 
     from tbl_talafat_dan t2 
     where FCode=81 AND DCode=1 AND t2.sen<=t1.sen 
    ) as tc 
where 
    FCode = 81 
    AND DCode = 1 
group by 
    t1.sen 

我想你t1之后有一个语法问题在这里:

from 
    tbl_talafat_dan t1, (
     select sum(t2.t_shab+t2.t_rooz) as c 
     from tbl_talafat_dan t2 
     where FCode=81 AND DCode=1 AND t2.sen<=t1.sen 
    ) as tc 

它试图找出什么是从选择表。您需要使用t1或tc,然后在适当的时候加入。希望这可以帮助。