2013-02-12 2 views
1

Я использую SQL Server 2008 и удаляю таблицу, чтобы группировать данные по одному столбцу. По некоторым причинам я должен использовать GROUP BY вместо DISTINCT (это часть более сложного запроса). Результаты запроса (возвращается только один столбец) подходят для меня.Как должен выглядеть мой запрос?

Проблема заключается в том, что я хочу использовать этот запрос в качестве подзапроса в предложении WHERE для фильтрации данных на основе этого подзапроса. Как я вижу, статья WHERE видит в этом подзапросе не только данные, которые отображаются в результатах запроса после группировки, но и остальные, и это то, что мне не нравится.

Мой вопрос в том, как я могу использовать свой запрос group by как подзапрос в разделе where, где будут отображаться только результаты после группировки?

+5

Всегда правильно отправлять свой код SQL в свой вопрос. В этом случае вам нужен подзапрос (круглые скобки вокруг группы по запросу, а затем использование результата в другом запросе) –

ответ

0

Вы можете использовать подзапрос, чтобы выбрать нужный столбец из существующего подзапроса. И затем передайте этот новый подзапрос, как ввод, в пункт where.

0

Я предполагаю, что ваша проблема заключается в том, что ваш основной запрос возвращает несколько строк для каждого из элементов вашего подкабеля WHERE. Это правильное поведение. Чтобы ограничить результаты в вашем основном запросе, вы должны использовать DISTINCT или GROUP BY в основном запросе.

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