我有一個表UserMaster
如下......(僅列所示)使用內部連接上逗號分隔值存儲過程
UserID UserName EmailID
---------------------------------
1000 amol [email protected]
1001 mahesh [email protected]
1002 saurabh [email protected]
1003 nitesh [email protected]
另一個表MessageHistory
(僅列所示)
MsgCode From To
-----------------------------
MSG001 1000 1001,1002,1003
MSG002 1001 1000,1002,1003
我在From
和To
列存儲UserIds
...
我一個米試圖創建一個存儲步驟,顯示的特定的消息代碼Email History
Create Procedure proc_GetMessageHistory
@MsgCode varchar(50)
as
Begin
Select * From MessageHistory Where [email protected]
End
結果來作爲MessageHistory
表如上所示...但我要顯示的各UserEmailIDs
代替UserID
(例如'[email protected]'而不是1000)...
我怎麼能在存儲過程中做到這一點?我怎麼能在這種情況下使用內部連接,特別是用逗號分隔的值?請幫助......謝謝
**不要**使用逗號分隔值 - 這是**糟糕的設計**,總是會是一團糟和一個可怕的黑客使用。你需要使用**正確的規範化**數據庫表 - 然後一個JOIN將是一個沒有問題的... – 2013-03-17 09:11:43
是的我同意..這將是這個改變DB結構的最終解決方案...但isn沒有辦法做到這一點,沒有這樣做? – 2013-03-17 09:19:53
有一些可怕的,瘋狂的凌亂的黑客 - 我寧願不去想那些,雖然.....(不寒而慄) – 2013-03-17 09:35:46