1

我想为各种不同的用户从 OCS 数据库 (LcsLogs) 输出所有 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'

我还想确保我正在搜索所有正确的表等,并且是 LcsLogs 数据库的新手,我仍然不确定我的基本查询是否足够全面。我在网上看到以下查询:

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

但是我使用这个查询得到了很多重复的消息,并且不确定我们为什么要查询“dbo.Users”。对此的任何帮助将不胜感激。

亲切的问候,

4

1 回答 1

1

您可以使用此查询来获取所需的信息:

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

或者要删除其他查询中的重复项,请使用 distinct ,如下所示:

SELECT distinct  * from dbo.Messages, dbo.Users where
 dbo.Users.UserId = Messages.FromId
于 2012-04-24T16:03:36.123 回答