可能重複:
how to pass a variable in WHERE IN clause of oracle sql?逗號分隔的字符串
我有一列Prefix
在我的表Tbl_Prefix
與值由逗號這樣的分隔字符串:
'aaa','bbb','ccc'
我有一張員工表Tbl_Employee
li柯本:
Empno Prefix
------------
1000 aaa
2000 eee
3000 ccc
4000 aaa
5000 ddd
我需要在這個查詢中使用這個前綴在我WHERE
條款的IN
部分:
Select *
from Tbl_Employee
where Tbl_Employee.Prefix in (select Tbl_Prefix.prefix
from Tbl_Prefix
where Tbl_Prefix.flag = 'y')
內選擇查詢select Tbl_Prefix.prefix from Tbl_Prefix where Tbl_Prefix.flag='y'
有結果'aaa','bbb','ccc'
如何在'IN'子句中使用這個字符串,以便我得到正確的結果?
數據庫??????? – nawfal
數據庫是SQL服務器2008 – Soumya
順便說一句,如果這些值存儲在你的數據庫中,那麼你應該認真重新考慮你的數據庫設計。創建一個包含每個父記錄的每個逗號分隔值記錄的子表。如果數據像這樣轉儲,則創建一個作業來將原始數據處理爲類似的結構。有了適當的表格結構,你只需要一個相對簡單的內部連接。 – GolezTrol