SELECT '-1', '-SELECT-'   FROM dual UNION SELECT cm_coverage_type_code, long_description   FROM cm_coverage_type  WHERE cm_lob_code = '^claim_cmLobCode^'  AND (cm_get_trans_amount(^claimPK^,'INDEMNITY','N','N','Y',null,null)=0 OR cs_get_system_parameter('CM_DEFONLY_LOSS_SUB') IS NULL OR instr(cs_get_system_parameter('CM_DEFONLY_LOSS_SUB'), ',' || cm_coverage_type_code || ',') = 0)SELECT cm_coverage_type_code, long_description   FROM cm_coverage_type结果
1 AII Advertising Injuruy
2 BII Bodily Injury
3 XSDEFONLY Defense Only
4 XSINDDEF Indemnity & Defense
5 GLDEFONLY Defense Only
6 GLINDDEF Indemnity & Defense
7 PLDEFONLY Defense Only
8 PLINDDEF Indemnity & Defense
9 EXDEFON Defense Only
10 EXINDEF Indemnity & Defense我想要输出 Indemnity & Defense   和    Defense Only
该怎么写???

解决方案 »

  1.   

    请参考SQL Server 2005教材
      

  2.   

    给我解释一下这段sql的意思就行
      

  3.   


    SELECT '-1', '-SELECT-'   FROM dual -- 在结果集中第一行显示 -1   -SELECT-
    UNION 
    SELECT cm_coverage_type_code, long_description   
    FROM cm_coverage_type  -- 从cm_coverage_type中找出一些符合下面条件的记录,显示它们的cm_coverage_type_code, long_description这两个字段的值
    WHERE cm_lob_code = '^claim_cmLobCode^'  -- 条件 cm_lob_code 的值等于 ^claim_cmLobCode^
    AND (cm_get_trans_amount(^claimPK^,'INDEMNITY','N','N','Y',null,null)=0 -- 调用函数cm_get_trans_amount,看看结果是否等于0
         OR cs_get_system_parameter('CM_DEFONLY_LOSS_SUB') IS NULL -- 调用函数cs_get_system_parameter是否为null值
         OR instr(cs_get_system_parameter('CM_DEFONLY_LOSS_SUB'), ',' || cm_coverage_type_code || ',') = 0) -- 检查cs_get_system_parameter返回值是否含有cm_coverage_type_code字段的值
      

  4.   


    SELECT '-1', '-SELECT-'   
    FROM dual UNION 
    SELECT cm_coverage_type_code, long_description   
    FROM cm_coverage_type  
    WHERE cm_lob_code = '^claim_cmLobCode^' 
    你要的结果吧