2011-08-30 54 views
0
选择

我的查询是从表中具有多个值

SELECT * 
FROM tblalumni_member 
WHERE username IN (SELECT * 
         FROM  Split('ramesh,sagar,pravin', ',')) 
     AND Is_Approved = 1 

和用户名字段包含用逗号分隔的多个值。像ramesh,sachin,pravin

它应该给所有行,如果任何匹配的选定结果。
你能帮我吗?

+0

什么RDBMS的情况下?你的分割函数返回哪些列?你真的认为'username'字段本身包含逗号分隔值吗?似乎不太可能,如果它是个人成员表。 –

+0

是用户名本身包含逗号分隔的values.means用户名将包含例如ramesh,sachin,pravin。 –

+6

然后你应该重新设计你的数据库。在列中存储逗号分隔值始终是数据库设计不良的标志。 –

回答

5

在SQL Server也许像

SELECT * 
FROM tblalumni_member m 
WHERE Is_Approved = 1 AND 
     EXISTS(
      SELECT * FROM Split(m.username, ',') 
      INTERSECT 
      SELECT * FROM Split('ramesh,sagar,pravin', ',') 
     ) 
+0

感谢它的工作很好 –

+1

@Ramesh那么你应该接受答案。 –