选择案例查询不起作用

时间:2011-09-22 12:32:19

标签: sql sql-server

SQL的新手,在开发查询的过程中,使用复制ETL过程的一部分。

然后将结算代码1 = bf设置为债务代码1.如果结算字段(债务代码)超过100个字符,则添加“*”作为前缀。

但是查询将会失败,因为开头代码1 = bf会将单个结果集返回到返回大结果集的债务代码1。

select 
    case when len(format) > 100 then left(format, 100) + '*' 
    else format end as format
from (select case when exists (select _hs_eb_code1 from hbl_cat where hs_eb_code = 'bf)
                  then tbm_bllgrp._hs_eb_det1 end) as format
from tbm_bllgrp
欢迎提出意见。

1 个答案:

答案 0 :(得分:0)

select 
case when len(format) > 100 then left(format, 100) + '*' 
else format end as format
from tbm_bllgrp b
    inner join hbl_cat hc on hc._hs_eb_code1 = b._hs_eb_det1

这只是猜测,因为我没有你的完整架构和预期的输出,但我希望这能给你一些想法