OCS SQL-запрос для получения сообщений IM для определенных пользователей
Я хочу вывести все сообщения IM из базы данных OCS (LcsLogs) для разных пользователей. Я хочу все сообщения, которые они отправляют или получают. У меня есть что-то вроде следующего на данный момент:
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. Любая помощь с этим будет высоко ценится.
С уважением,
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