关于sql的上下级查询统计(如图)

2025-04-15 22:57:10
推荐回答(3个)
回答1:

select code_name, amount from
    (select left(code,2) as code, ISNULL(SUM(amount),0) as amount
        from a group by left(code,2)) as tmp
inner join b on tmp.code=b.code

回答2:

写法1 :
  select B.CODE_NAME,(SELECT SUM(A1.AMOUNT) FROM A AS A1 WHERE  LEFT(A1.CODE,2)= A.CODE )AS AMOUNT 
from A  left join   B  on A.CODE = B.CODE
WHERE A.AMOUNT IS NULL
写法2 : 
select B.CODE_NAME,(SELECT SUM(A1.AMOUNT) FROM A AS A1 WHERE  A1.CODE LIKE A.CODE||'%'  )AS AMOUNT 
from A  left join   B  on A.CODE = B.CODE
WHERE A.AMOUNT IS NULL

回答3:

select 
    tb.code_name as code_name,
    sum(ta.amount) as amount
from
     b表 as tb
left join a表 as ta on tb.code = ta.code
--where tb.code_name like %%
group by tb.code_name

where 处设设置查询条件