1
分隔的列值I在SQL Server中3个表Table1
,Table2
和Table3
其中Table1
一个列具有逗号分隔的其他两个表的PK
值。由逗号
现在我想分开Table1
列的值,并使用它根据找到的值从其他两个表中选择数据。
分隔的列值I在SQL Server中3个表Table1
,Table2
和Table3
其中Table1
一个列具有逗号分隔的其他两个表的PK
值。由逗号
现在我想分开Table1
列的值,并使用它根据找到的值从其他两个表中选择数据。
试试这个
Select Table1PkValue,Table2PKValue
From
(
Select SubString(PKColumn, 0,CharIndex(PKColumn, ',')) As
Table1PkValue,SubString(PKColumn,
CharIndex(PKColumn,',')+1,Len(PKColumn)-CharIndex(PKColumn,',')+1) As Table2PKValue
From Table1
)
As T
INNER JOIN Table2 ON Table2.PkColumn=T.Table1PkValue
INNER JOIN Table3 ON Table3.PKColumn=T.Table2KValue
注意你的表1的PKColumn应该有逗号分隔值。第一个值的表2和第二值表3
忽略,如果,如果有任何语法错误
为什么不设计你的数据库更好...... –
数据库的目的不是MBY我....但现在我们已经到了我们不能改变它的阶段 – user987166
You * could *(1)在表中添加两列'FKTb12'和'FKTbl2',(2)从那些逗号分隔的列中将数据**一次**提取到那些'FKTb12'和'FKTbl2'列,(3)从'FKTb12'和'FKTbl2'列为'Table2'和'Table3'建立适当的FK约束,然后(4)**沟壑的逗号分隔列* * 全部一起!很容易,真的... –