database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 903 게시물 읽기
No. 903
Re: SQL 좀 도와주십셥.... T.T ORA-00979
작성자
김규태
작성일
2000-06-02 10:33
조회수
21,387

> """"제품별 주문량이 언제 몇개인지 주문일자 순으로(ASC)...""""

>

>

> 를 group by 와 order by 에 의해 수행하려 합니다.

> 근데 자꾸 에러가 납니다.

>

> SQL> select product.id, product.name, item.quantity, ord.date_ordered from s_ord ord, s_product

> prod

> uct, s_item item group by product.id order by ord.date_ordered;

> select product.id, product.name, item.quantity, ord.date_ordered from s_ord ord, s_product produ

> ct,

> *

> ERROR at line 1:

> ORA-00979: not a GROUP BY expression

>

 

항상 에러 메세지에 주의 하시길...

select select_column_lists

from table_lists

group by group_column_lists

이렇게 되었을 때 select_column_lists 에는

group_column_lists 에 존재 하는 칼럼만 독립적으로 존재할

수 있고, 그 이외의 칼럼이 오려면 반드시 그룹 함수(sum, max, min...)

를 사용해야만 합니다.

위에서 보면 그룹은 product.id 만 사용하는 비해서

select 에서 product.name, item.quantity, ord.date_ordered

칼럼이 있으니 당연히 안됩니다.

 

 

그러나 여기서 문제( 제품별 주문량이 언제 몇개인지 주문일자 순으로(ASC)... )를

좀 더 쉽게 생각하면

제품별 주문일자별 주문량 합계을 구해서 제품별 주문일자 순으로 display

하라는 것이 아닐까요?

단순하게 이렇게 해석된 것이 맞다면 아래와 같이 하면 될지도.

 

select product.id, product.name, sum(item.quantity), ord.date_ordered

from s_ord ord, s_product product, s_item item

group by product.id , product.name, ord.date_ordered

;

( group by 는 기본적으로 sorting을 수행하기 때문에

여기서 id,name,date 별로 display 하려고 하면 order by 생략 가능 )

 

 

 

그런데 테이블 생성 문장을 보아서 ( 약간은 이상하지만 )

s_ord --< s_item >-- s_product의

관계를 같는 것 같군요.

만약 이 경우라면 s_item, s_ord 에서 inline view를 사용해서

결과를 내고 나중에 s_product와 join해서 이름을 갖고 오는 것이

수행 속도를 빠르게 할 것 같군요.

 

그런데 s_item의 PK가 (ord_id, product_id) 나 ( item_id )가 아니고

(ord_id, item_id) 이라서 제가 오해할 수도 있겠네요.

[Top]
No.
제목
작성자
작성일
조회
907help,help 신기한 ora-12560 (추가된 등록한 리눅스 계정에서만 발생합니다.)
이수진
2000-06-02
11075
909┕>Re: help,help 신기한 ora-12560 (추가된 등록한 리눅스 계정에서만 발생합니다.)
소몰이
2000-06-02 15:57:18
11361
905꾸벅! 제발 도와주세요 ... 졸도하기 일보직전 이예요
졸도직전
2000-06-02
10995
906┕>Re: 꾸벅! 제발 도와주세요 ... 졸도하기 일보직전 이예요
전진우
2000-06-02 15:02:08
11383
912 ┕>Re: Re: 관심가져 주셔서 감사합니다. (remote 접속문제)
졸도직전
2000-06-03 12:48:22
11096
908┕>Re: 꾸벅! 제발 도와주세요 ... DBD 설치문제
김규태
2000-06-02 15:29:16
11656
911 ┕>Re: Re: 답변 감사드립니다....저 그런데요
졸도직전
2000-06-03 12:22:01
11346
913  ┕>Re: Re: Re: 답변 감사드립니다....저 그런데요
김규태
2000-06-03 15:32:34
11376
898솔라리스2.6에 오라클8.1.6설치방법
후니
2000-06-01
11148
902┕>Re: 솔라리스2.6에 오라클8.1.6설치방법
Firebird
2000-06-02 07:00:11
12313
910┕>Re: 솔라리스2.6에 오라클8.1.6설치방법
조재혁
2000-06-02 22:06:27
11850
894SQL 좀 도와주십셥.... T.T
이병희
2000-06-01
12441
896┕>Re: SQL 좀 도와주십셥.... T.T
오태석
2000-06-01 22:09:54
13432
903┕>Re: SQL 좀 도와주십셥.... T.T ORA-00979
김규태
2000-06-02 10:33:27
21387
892리눅스에 오라클8i 구동시 에러...
안종필
2000-06-01
11664
900┕>Re: 리눅스에 오라클8i 구동시 에러...
노마
2000-06-02 06:06:38
12951
904 ┕>Re: Re: 리눅스에 오라클8i 구동시 에러...ORA-01078
김규태
2000-06-02 10:50:21
13077
891####센드메일 설정 질문요.##급해요 급해....
EzyRyder
2000-06-01
11131
895┕>Re: 게시판 성격에 맞는 질문만 해 주시기 바랍니다.
정재익
2000-06-01 20:37:19
11974
886오라클 설치 도중 에러 문구
이영준
2000-05-31
11891
888┕>Re: 오라클 설치 도중 에러 문구
김규태
2000-05-31 14:23:34
14418
899 ┕>Re: Re: 오라클 설치 도중 에러 문구
노마
2000-06-02 05:47:10
12247
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.198초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다