2012-04-24 4 views
1

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

+0

Положите результат, который у вас есть, и результат, который вы намереваетесь, и я отвечу на него лучше :) –

 Смежные вопросы

  • Нет связанных вопросов^_^