SQL-如何在where子句中使用逗号分隔的列值

问题描述

我有一个名为Configuration的表。它包含如下所示的值,

Id  SourceColumns   TargetColumns   SourceTable TargetTable
1   Name,Age       CName,CAge     STable       TTable 
2   EId             EmplId          EmpTable     TTable 

在存储过程中,我必须从上表中获取列名,并且必须比较源表和目标表。

对于第二条记录,我能够轻松做到这一点,因为它只有一个列名,所以在where子句中,我可以像这样写sourcecolumn = targetcolumn,

SELECT 
       EId,EmplId
FROM 
      EmpTable E
      JOIN TTable T ON E.Eid = T.EmplId

表中的第一条记录有2列,用逗号(,)分隔。

我必须像这样比较

SELECT 
       Name,Age 
FROM 
      STable S 
      JOIN TTable T ON S.Name = T.CName AND S.Age = T.CAge

在某些情况下,源列和目标列可能会有更多的列名,以逗号(,)分隔

请帮助我。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)