我想選擇給定用戶進行對話並顯示對話中最新消息的所有用戶。 這是我的表: 如何從社交網絡數據庫的消息表中選擇給定用戶的會話?
例如:如果我要選擇user2的對話,查詢必須只返回用戶1和用戶3 (因爲他們是誰,有user1的談話唯一的)只有迴歸每個對話中的最後一條消息。
我做了,我打算選擇想要的結果的表值函數,它是這樣的:
CREATE function [dbo].[all_pm] (@u nvarchar(20))
returns table
as
return
(
select src as [with] from msg where id in
(select id from msg where [email protected] or [des][email protected]) and src <> @u
union
select des as [with] from msg where id in
(select id from msg where [des][email protected] or [email protected]) and [des] <> @u
)
/*
select * from all_pm('user2')
*/
但只得到我,聊了一會與用戶給定的用戶,而不是他們對話中的最新消息。據我所知,我只在代碼中選擇了src和des,但如果選擇msg,它也會顯示我在這些會話中的所有消息。
希望你們能幫助我;我真的很感激。
理由不使用圖像[這裏] (http://meta.stackoverflow.com/a/285557/92546)。 – HABO