|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
22.04.2014, 12:08 | #1 |
Пользователь
Регистрация: 25.04.2010
Сообщений: 21
|
ORA-00979: not a GROUP BY expression
Здравствуйте! Помогите пожалуйста с запросом oracle sql:
Таблица S_ORD содержит информацию о заказах. Поля: ID – идентификатор заказа. DATE_ORDERED – дата оформления заказа. DATE_SHIPPED – дата отгрузки. TOTAL – общая стоимость заказа. PAYMENT_TYPE – тип оплаты. CUSTOMER_ID – ссылка на заказчика. SALES_REP_ID – ссылка на торгового представителя. Таблица S_CUSTOMER содержит информацию о фирмах заказчиках. Поля: ID – идентификатор заказчика. NAME – название. PHONE – телефон. ADDRESS – адрес. CITY – город. STATE – штат. COUNTRY – страна. ZIP_CODE – почтовый индекс. CREDIT_RATING – кредитный рейтинг. COMMENTS – комментарии. REGION_ID – ссылка на регион. SALES_REP_ID – ссылка на торгового представителя. Необходимо вывести наименование фирмы-клиента и количество сделанных ими заказов. Я представляю себе это так: select s_customer.name, count(customer_id) from s_ord inner join s_customer on customer_id=s_customer.id group by customer_id; Результат немного предсказуем: ORA-00979 Вот этот запрос выводит id фирмы-клиента и количество сделанных заказов: select customer_id, count(customer_id) from s_ord group by customer_id; CUSTOMER_ID COUNT(CUSTOMER_ID) ----------- ------------------ 213 1 210 2 211 1 201 1 206 1 212 1 202 1 203 1 204 2 208 2 Нужно получить такую таблицу, только вместо CUSTOMER_ID должно быть s_customer.name Последний раз редактировалось nartov55; 22.04.2014 в 12:18. |
22.04.2014, 12:14 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
А посмотреть синтаксис SELECT-а и место в нем GROUP BY сверх не реальная задача? И добавить в GROUP BY еще Name
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
22.04.2014, 12:18 | #3 |
Пользователь
Регистрация: 25.04.2010
Сообщений: 21
|
Спасибо, работает. select s_customer.name, count(customer_id) from s_ord inner join s_customer on customer_id=s_customer.id group by customer_id, name;
Последний раз редактировалось nartov55; 22.04.2014 в 12:20. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ORA-00604, ORA-01003 | BeJIuKuu_Hexo4yxa | SQL, базы данных | 0 | 14.11.2011 10:41 |
ошибка ora-12154 | blr_spy | БД в Delphi | 0 | 27.02.2011 18:04 |
Нарисовать красивое окошко. Expression Design, Expression Blend. Векторное изображение. | Casper-SC | Фриланс | 0 | 09.02.2011 17:59 |
XLM ошибка ora-31001 | D-mon | БД в Delphi | 0 | 13.08.2008 15:09 |
Ora | MAcK | БД в Delphi | 16 | 10.09.2007 08:55 |