【问题标题】:Joining Tables based on data sets with different column names基于具有不同列名的数据集连接表
【发布时间】:2018-12-20 17:56:27
【问题描述】:

当表 A 有列 CX_String_4 而表 B 有列详细信息时,如何连接多个表?详细信息列有一个字符串,其中包含一个数字,该数字将匹配列 CX_

中的内容

我尝试了完全连接,但我的结果没有产生任何结果。它是一个空白屏幕。

Full Outer Join PVXMIHS ON PVXME.CX_STRING_4=SUBSTRING(Convert(varchar(318),PVXMIHS.DETAILS),78,10)

【问题讨论】:

    标签: sql-server sql-server-2008-r2


    【解决方案1】:

    详细信息列有一个字符串,其中包含一个将匹配的数字 CX_列中有什么

    如果您不知道您的值在详细信息列中的确切位置,您建议的是通配符或模糊匹配连接。为此,您需要使用LIKE,您可以使用read about in the docs.

    FULL OUTER JOIN PVXMIHS ON PVXMIHS.DETAILS LIKE '%' + PVXME.CX_STRING_4 + '%'
    

    CX_STRING_4 位于DETAILS 列中的任何位置时,这将匹配。如果您确定知道值在 DETAILS 列中的位置,那么您的 SUBSTRING 方法将起作用(假设您使用了正确的起始位置和长度)。

    【讨论】:

    • 我试过这个字符串,它可以工作。我没有使用我的子字符串语句。结果达到了预期。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2011-04-07
    • 2020-10-21
    • 1970-01-01
    • 2017-09-16
    • 1970-01-01
    • 2018-06-20
    • 1970-01-01
    • 2016-03-24
    相关资源
    最近更新 更多