用SQL怎么实现这样一个记录数据显示?
表名 su_super_sendreply
主键ID 发送人ID 接受人ID 发送时间 处理标志 发送内容 回复内容 回复时间
字段 ID SendID RecvID AddDt Deal SendNote ReplyNote ReplyDt
User 表 有 userid 和 username 可用
主要是个信息发送接收的问题(有的只需别人查看而不要求其回复)
比如我 一次发送两个人只要求查看,那么会插入如下两条记录
1 100120 100130 ....(其他的省略)
2 100120 100140 ....
我查看发送记录是 就是(比如)
记录一
发送人 张真人
接收人 丘道长
发送时间 xxxxx
发送内容 xxxxxx
记录二
发送人 张真人
接收人 黄师傅
发送时间 xxxxx
发送内容 xxxxxx
这是我作为发送方看到的 我按照别人设计的表是那么显示记录的
现在要求这么来显示
同上 若我一次发给了两个人 仍然是同上插入两条记录
但显示格式是
记录一
发送人 张真人
接收人 丘道长,黄师傅
发送时间 xxxxx
发送内容 xxxxx
有什么好点方法可行呢?谢谢了
------解决方案--------------------写个函数,传递的参数是发送人的名称,然后返回发送给谁。很简单的
------解决方案--------------------create function RecPerson(@SendPerson varchar(20))
returns varchar(1000)
as
begin
declare @a varchar(1000)
select @a=coalesce(@a+ ', ', ' ')+接受人 from [Table] where 发送人=@SendPerson
return @a
end
--调用
select distinct 发送人,dbo.RecPerson(发送人),.... from [Table]
------解决方案--------------------楼主通过什么确定给两个人发的是同一封信的,通过发送时间?
我觉得表中应该有一个标志用来标示哪些记录是群发的
chuifengde(树上的鸟儿)的语句完全可以实现