代码之家  ›  专栏  ›  技术社区  ›  Ram

使用SQL Server连接拆分值并与表进行比较

  •  -1
  • Ram  · 技术社区  · 8 年前

    我有两张桌子叫 Components 和 PDF_MSDS . 这个 Component 表包含列 f_chem_name , f_component_id 和 化学名称 它包含以下示例数据。

    组件 桌子

    SELECT F_Cas_Number, F_Component_Id, F_Chem_Name 
    FROM Components  
    WHERE F_Chem_Name = 'CHMNM_17816'
    

    输出

    F_Cas_Number    F_Component_Id  F_Chem_Name
    -------------------------------------------        
    CAS_5861         PRD1000826      CHMNM_17816
    

    样本数据 PDF材料安全数据表 桌子

    F_PRODUCT    F_CAS_NUMBERS                         F_COMPONENT_IDS
    ----------------------------------------------------------------------
    360          CAS_5779¿CAS_5861¿CAS_2614¿           3E000685¿3E002268¿3E004960¿3E005217¿PRD1000826¿
    

    现在我想展示 f_product 价值来自 PDF材料安全数据表 比较表 F_Cas_Number 和 F_Component_Id 在里面 组件 带 F_CAS_NUMBERS 和 F_COMPONENT_IDS 在 材料安全数据表 给定的表 化学名称 在里面 组件 桌子。

    但是我不能直接使用join和 福卡斯数 在里面 组件 带 福卡斯数 在里面 PDF材料安全数据表 桌子和 组件Id 在里面 组件 带 组件ID 在里面 PDF材料安全数据表 因为多重 cas_numbers 和 component_ids 存储在 福卡斯数 和 F_组件ID 中的列 PDF材料安全数据表 桌子。

    如何搜索和比较casu编号和组件id并选择特定记录。请帮助。F_Chem_Name是过程的输入参数。

    1 回复  |  直到 8 年前
        1
  •  1
  •   Tab Alleman    7 年前

    您可以在加入条件中使用LIKE。

    JOIN TableB
      ON TableA.Column LIKE '%'+TableB.Column+'%'
    
    推荐文章