Sql 如何获得以下值:1 A 00000000000 1548 000000000000 458

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

如何获得以下值:

我希望结果为“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', 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