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)**溝壑的逗號分隔列* * 全部一起!很容易,真的... –