Sql 如何获得以下值:1 A 00000000000 1548 000000000000 458
如何获得以下值: 我希望结果为“countervalue,sp_value” 我试过的是Sql 如何获得以下值:1 A 00000000000 1548 000000000000 458,sql,sybase,Sql,Sybase,如何获得以下值: 我希望结果为“countervalue,sp_value” 我试过的是 select product id,name, CASE WHEN PLAN = '0' then Replicate('0', 16 - LEN(AM_COUNTERVALUE)) + AM_COUNTERVALUE else '000000000000000' END AS COUNTERVALUE CASE WHEN IS_SAVING_PLAN = '1' then Replicate('0', 1
select product id,name,
CASE WHEN PLAN = '0' then Replicate('0', 16 - LEN(AM_COUNTERVALUE)) + AM_COUNTERVALUE else '000000000000000' END AS COUNTERVALUE
CASE WHEN IS_SAVING_PLAN = '1' then Replicate('0', 16 - LEN(AM_COUNTERVALUE)) + AM_COUNTERVALUE else '000000000000000' END AS SP_VALUE
into tmp from #temp
select product id,name,COUNTERVALUE+SP_VALUE
from tmp
它的输出像
1 A 000000000001548 000000000000000
1 A 000000000000000 000000000000458
但预期产出是有限的
1 A 000000000001548 000000000000458
你能帮我一下吗你需要一个
分组人
:
select product as id, name,
MAX(CASE WHEN PLAN = '0' then Replicate('0', 16 - LEN(AM_COUNTERVALUE)) + AM_COUNTERVALUE else '000000000000000' END) AS COUNTERVALUE
MAX(CASE WHEN IS_SAVING_PLAN = '1' then Replicate('0', 16 - LEN(AM_COUNTERVALUE)) + AM_COUNTERVALUE else '000000000000000' END) AS SP_VALUE
from #temp
group by product, name;
您使用的是Oracle还是Sybase?(罕见的组合…)这不是Oracle codeSybase@DuduMarkovitz