C# 在上面有破折号的柱上取消打印

C# 在上面有破折号的柱上取消打印,c#,sql,sql-server,sql-server-2008-r2,C#,Sql,Sql Server,Sql Server 2008 R2,这是我在SQL Server 2008 R2中的查询: INSERT VMP_Staging_Products_Temporary (FRM_ID, ITEM_ID, ItemDesc, NUMBER_ITEM) SELECT upvt.FARM_ID, p.REC_ITEM_CODE, p.REC_ITEM_NAME_A, upvt.NUMBER_ITEM FROM VMP_Staging AS f UNPIVOT (

这是我在SQL Server 2008 R2中的查询:

INSERT VMP_Staging_Products_Temporary
    (FRM_ID, ITEM_ID, ItemDesc, NUMBER_ITEM)
    SELECT upvt.FARM_ID,
    p.REC_ITEM_CODE,
    p.REC_ITEM_NAME_A,
    upvt.NUMBER_ITEM
    FROM VMP_Staging  AS f
    UNPIVOT
    (
        NUMBER_ITEM
        FOR ItemDesc IN ([KHALAS], [FARDH], [OTHER_LULU], [KHENAIZI], [BOUMAAN], [BARHI], [JESH_KHARMA], [REZIZ]
        , [JABRI], [ANBARET_AL_MADINA], [SHISHI], [DABBAS], [NABTET_SAIF], [KHEDRAWI], [HILALI], [MAKTOUMY]
        , [NAMISHI], [SULTANAH], [BAQLAT_AL_TAWAA], [BAQLAT_AL_DAHLA], [BAQLAT_AL_RARENJA], [SUKARY], [SAQEI], [ABU_ZEBED]
        , [MAJDOUL], [SHABIBI], [YOUWANI], [YARDI], [KHADI], [HATIMI], [NEGHAL], [OTHER_SAYER])
    ) AS upvt
    INNER JOIN REC_ITEM AS P
    on p.REC_ITEM_NAME_A  = upvt.ItemDesc
如您所见,我正在REC_ITEM表和unpivot的结果之间进行连接

问题发生在具有u like ABU ZEBED的列名中,其中REC_项中的值为ABU ZEBED

我怎样才能解决它呢

更新1
如果有一种方法可以使用c代码来实现这一点,那么它也很好。因为这是一个从c调用的存储过程,所以如果c中有解决方案,我也希望如此。

您可以尝试以多种方式加入:

on p.REC_ITEM_NAME_A = upvt.ItemDesc or
   p.REC_ITEM_NAME_A = replace(upvt.ItemDesc, '_', ' ')
或者,从两侧删除空格和下划线:

on replace(replace(p.REC_ITEM_NAME_A, '_', ''), ' ', '') =
   replace(replace(upvt.ItemDesc, '_', ''), ' ', '')

取决于它是否是一种规则模式,但至少:

INNER JOIN REC_ITEM AS P
    on replace(p.REC_ITEM_NAME_A, ' ', '_')  = upvt.ItemDesc

不过,性能会很糟糕。

我尝试了您的第一个解决方案,但仍然一样,我得到的是22而不是31。性能很差,有没有办法更正取消PIVOT的结果?有没有办法更改取消PIVOT的结果?您的解决方案仍然给我22个结果,而不是31@AgnieszkaPolec-您确定REC_项中的这些字符确实是空格,即char32吗?试着检查它的内容,比如这样:选择sq.Orig,sq.Upd,当sq.Orig=sq.Upd时,则从select r.rec_item_name_a as[Orig]中选择1作为[Equal],从rec_item r sq中选择replacer.rec_item_name_a,char32,char95作为[Upd];请忽略上一个。这应该是可行的:从rec_item中选择*,其中rec_item_name_a='ABU'+char32+'ZEBED';如果有什么东西会出现,那就意味着名称部分之间确实有一个普通的空格;如果不是,那就是其他角色。