我在SQL Server Table1
,Table2
和Table3
中有3个表,其中Table1
中的一列有另外两个的逗号分隔PK
值表。
现在我想将Table1
列中的值分开,并根据找到的值使用它来从其他两个表中选择数据。
答案 0 :(得分:0)
试试这个
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的PK列应具有逗号分隔值。 Table2的第一个值和表3的第二个值。
如果有任何语法错误,请忽略