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'

また、absolutleyに正しいテーブルなどをすべて検索していることを確認したいと思います。また、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')

または、他のクエリの重複を削除するには、次のように区別して使用します。

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