Member 7790559 Ответов: 3

Как использовать предложение group by с одним столбцом при выборе всех столбцов из таблицы


У меня есть таблица с тремя столбцами: OrderId,Seller,Date. Я хочу получить данные из таблицы с помощью group by seller, но это работает только тогда, когда я пишу запрос как

select seller from tablename where OrderId=6 Group By Seller


но это дает ошибку, когда я пишу запрос следующим образом

select *from tablename when<big></big> OrderId=6 Group By Seller


Ошибка: имя таблицы.OrderId' недопустим в списке выбора, поскольку он не содержится ни в агрегатной функции, ни в предложении GROUP BY

Как ее решить. Есть ли какой-либо другой способ извлечения данных без повторения одной и той же строки

Amir Mahfoozi

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

3 Ответов

Рейтинг:
1

Kornfeld Eliyahu Peter

Если вы хотите сгруппировать строки вместе, вы должны сказать SQL, как их сгруппировать.
Использование * (во всяком случае, плохая привычка) говорит SQL принести все поля, но ничего не говорит о том, как сгруппировать их по разным строкам...
http://technet.microsoft.com/en-us/library/ms177673(в=в SQL.100).aspx-файл[^]


Рейтинг:
1

Member 14935747

ID ИМЯ ВОЗРАСТ АДРЕС ЗАРПЛАТА
1 Рамеш 32 Ахмадабад 2000.00
2 Хилан 25 Дели 1500.00
3 Каушик 23 кота 2000.00
4 Chaitali 25 Мумбаи 6500.00
5 Хардик 27 Бхопал 8500.00
6 Комал 22 МП 4500.00
7 Маффи 24 Индор 10000.00
8 Маффи 24 Индор 10000.00


ВЫБЕРИТЕ * ИЗ СПИСКА КЛИЕНТОВ
где возраст в
(ВЫБЕРИТЕ ВОЗРАСТ
ОТ КЛИЕНТОВ
ГРУППА ПО ВОЗРАСТУ
Имея количество(возраст) >= 2)
заказ по идентификатору


Richard Deeming

Неформатированный, необъяснимый и несвязанный дамп кода не является "решением" этого вопроса.

Рейтинг:
0

Rajesh_DotNet

Привет..,

При использовании GroupBy необходимо указать имена столбцов, которые существуют в запросе select.

Включите OrderId также в GroupBy caluse.