2011-08-30 38 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那麼你應該接受答案。 –