本帖最后由 zhx_888 于 2011-11-22 14:39:27 编辑

解决方案 »

  1.   

    --try
    cast((Case When IsNull(InvoiceSub.CustColor,'')<>'' 
      Then IsNull(InvoiceSub.CustColor,'')
    Else IsNull(V_ProdAll.ProdColorName,'') End) as varchar(100))
      + v_ProdAll.Name + ' '+
      

  2.   

    不是显示宽度的问题,是确实没出现在结果中加 Cast(... As VarChar(1000)) 也不行v_ProdAll.Code VarChar(32)
    v_ProdAll.Name VarChar(40)
    v_ProdAll.ProdColorName VarChar(30)
    InvoiceSub.CustColor VarChar(20)
    InvoiceSub.KindName VarChar(30)上述字段全部允许 Null
      

  3.   

    v_ProdAll.Name字段是什么数据类型?
      

  4.   

    你把 case when 那一段去掉 试试然后再把IsNull(InvoiceSub.KindName,'')  去掉试试 
      

  5.   

    去掉 Case When  结果:G5VA91800900160  弹力片 
    然后再把 IsNull(InvoiceSub.KindName,'') 去掉 结果:G5VA91800900160  弹力片实际上 InvoiceSub.KindName 字段的值是 Null
      

  6.   

    v_ProdAll.Color 字段的实际值是:G5VA91800900160
    v_ProdAll.Name 字段的实际值是:弹力片
    V_ProdAll.ProdColorName 字段的实际值是:其他色
    InvoiceSub.CustColor 字段的实际值是:深绿/浅绿/深灰/杏色
    InvoiceSub.KindName 字段的实际值是:Null
      

  7.   

    InvoiceSub 是一个表:其中有字段 ProdID 值:2FA6EBF939D64126B2FA4C3561A433BF
    v_ProdAll 是一个视图:其中也有字段 ProdID 值:2FA6EBF939D64126B2FA4C3561A433BF
    相互用 ProdID 关联条件