Bigprey Ответов: 1

Ошибка запроса чата MS SQL


У меня есть зашифрованный чат через asp.net в C# &амп; мѕ SQL. У меня есть два выпадающих списка для выбора видов спорта, а затем еще один для сортировки чатов на основе пользователей онлайн/всего пользователей.

Он не должен повторять спорт дважды, который есть у онлайн-пользователей.

Спасибо заранее и иметь хороший день впереди.

Что я уже пробовал:

Я закодировал чат с помощью asp.net, C# & amp; MS SQL. У меня есть два выпадающих списка для выбора видов спорта, а затем еще один для сортировки чатов на основе пользователей онлайн/всего пользователей.

< b> Когда я выбираю "все виды спорта" (значение по умолчанию) и общее количество пользователей, запрос работает нормально

Maciej Los

Вы должны опубликовать образцы данных...

Bigprey

Теперь вы можете найти данные. Теперь я подробно остановился на этом вопросе.
Спасибо и имеют хороший день впереди.

Maciej Los

Пожалуйста, улучшите свой вопрос и получите ожидаемый результат в <pre>...here your data...</pre> теги.
Не забудьте добавить входные данные (не ожидаемые выходные), чтобы проверить, что не так с вашими запросами.
Хорошего вам дня тоже ;)

David_Wimbley

Без необработанных выборочных данных для выполнения ваших запросов это может быть немного сложно. Что-то в ваших данных явно отличается, и именно поэтому DISTINCT возвращает его два раза.

Можете ли вы опубликовать схему / образец данных?..как инструкции Insert...так что мы можем запустить свои запросы к БД и репликации? Кто-то другой может быть в состоянии наблюдать за ним, но это просто догадка о том, что ваш код делает без этого для меня.

Bigprey

Пожалуйста, проверьте это сейчас. Я также добавил запросы вставки, и теперь вам будет легко их понять. С нетерпением жду вашей помощи.

Спасибо и имеют хороший день впереди.

Bigprey

Пожалуйста, проверьте это сейчас. Я также добавил запросы вставки, и теперь вам будет легко их понять. С нетерпением жду вашей помощи.

Спасибо и имеют хороший день впереди.

1 Ответов

Рейтинг:
1

Maciej Los

Я бы попробовал что-нибудь в этом роде:

SELECT roo.Sports As Sport, roo.[Name] AS ChatRoomName, COUNT(DISTINCT liu.[LoggedInUserID]) AS OnlineUsers, COUNT(DISTINCT chu.ChatUserLogId) AS TotalUsers
FROM Room AS roo
    LEFT JOIN LoggedInUser AS liu ON roo.RoomID = liu.RoomID
    LEFT JOIN ChatUserLog AS chu ON roo.RoomID = chu.RoomID AND chu.LoggedInTime >= DATEADD(DAY,-1,GETDATE()
GROUP BY roo.Sports, roo.[Name]


Для получения более подробной информации, пожалуйста, смотрите:
Визуальное представление SQL-соединений[^]
Агрегатные функции (Transact-SQL)[^]
COUNT (Transact-SQL)[^]


Bigprey

Привет,

Я поставил этот вопрос немного неправильно, и так как я не знаю, как его удалить, я создал новый http://www.codeproject.com/Questions/1138117/MS-SQL-query-error-in-my-chatroom-code-when-any-us. Запрос, который вы дали, был почти подходящим, но не могли бы вы изменить его в соответствии с вопросом на этом новом url-адресе

Спасибо заранее и иметь хороший день впереди.