2012-04-24 92 views
1

我想輸出所有來自OCS數據庫(LcsLogs)的IM消息,以供各種不同的用戶使用。我想要他們發送或接收的所有消息。我有一些像此刻如下:OCS sql查詢爲特定用戶檢索IM消息

SELECT * from dbo.Messages where 
Messages.FromId = '111' or Messages.ToId = '111' or 
Messages.FromId = '222' or Messages.ToId = '222' or 
Messages.FromId = '333' or Messages.ToId = '333' 

我也想使absolutley確保我正在尋找所有正確的表格等,併成爲新LcsLogs數據庫,我仍然不知道如果我的基本查詢已經足夠了。我已經看到下面的查詢在線:

SELECT * from dbo.Messages, dbo.Users where 
dbo.Users.UserId = Messages.FromId 

但我得到了很多使用此查詢信息的複製,並不能確定爲什麼我們查詢「dbo.Users」。任何幫助,將不勝感激。

親切的問候,

回答

1

您可以使用此查詢來獲取信息,你想:

SELECT * from dbo.Messages where 
    Messages.FromId in ('111', '222', '333') 
    or 
    Messages.ToId in ('111', '222', '333') 

或在您的其他查詢刪除重複,使用不同的是這樣的:

SELECT distinct * from dbo.Messages, dbo.Users where 
dbo.Users.UserId = Messages.FromId 
+0

謝謝,我認爲第一個查詢更具相關性。還有其他表格需要考慮嗎?我還注意到很多消息都包含CSS樣式參數,有沒有什麼方法可以有效地消除這個問題?謝謝 – greatodensraven 2012-04-24 16:15:44

+0

把結果,你現在和你打算的結果,我會更好地回答:) – 2012-04-24 16:24:25