我有一个表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