Помогите мне создать запрос на основе объединения в SQL Server 2008 - PullRequest
1 голос
/ 17 апреля 2011

Соединение, которое я реализовал, является базовым, но я не могу выяснить проблему в моем запросе. Можете ли вы помочь мне выяснить, где я допустил ошибку?

Вот сценарий:

У меня есть следующие таблицы

enter image description here

и я пишу этот запрос в T-SQL

Select 
   f._id, f.createdby, f.fullname, 
   f.topictitle, f.topicdate, f.status,
   f.totalviews, count(fr._id) as totalResponses 
from     
forumresponse as fr
RIGHT OUTER Join forum as f ON f._id = fr.forumId
where f.categoryId= @categoryId  
group by f._id, f.createdby, f.fullname, f.topictitle, 
         f.topicdate, f.status, f.totalviews
order by _id desc 

Но каждый раз я получаю один и тот же список форумов для любой категории.

Я пытаюсь получить форум и его данные, которые относятся только к определенной категории. Но независимо от категории, которую я передаю, я получаю один и тот же список форумов.

1 Ответ

1 голос
/ 17 апреля 2011

Не используйте RIGHT OUTER JOIN - используйте обычный INNER JOIN.

Использование внешнего объединения гарантирует, что будут возвращены все записи из правой таблицы (форума), независимо от того, существует ли соответствующая запись из левой таблицы или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...