可能重复:
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