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
운영게시판
최근게시물
MS-SQL Q&A 7086 게시물 읽기
No. 7086
group by가 안되는것 같아요
작성자
김우성(babokws)
작성일
2017-08-17 21:14ⓒ
2017-08-17 21:16ⓜ
조회수
2,376

select * from gubun1

gubun1 gubun1x

01 식품

02 잡화

03 비식품

 

select * from gubun2

gubun1 gubun2 gubun2x

01 01 가공식품

01 02 식용유.기름

02 01 잡화

03 01 비식품

 

select * from gubun3

gubun1 gubun2 gubun3 gubun3x

01 01 01 가공식품

01 02 01 식용유.기름

02 01 01 잡화

03 01 01 비식품

03 01 02 비누

 

 

아래처럼 하고싶어요

gubun1 gubun2 gubun3 gubun1x gubun2x gubun3x

01 01 01 식품 773000.00 773.00

01 02 01 식용유.기름 1700600.00 1546.00

02 01 01 비식품 773000.00 773.00

 

 

select

d.gubun1, d.gubun2, d.gubun3, g1.gubun1x --, g2.gubun2x, g3.gubun3x

, sum(d.tmamoney1 - d.tbamoney1) as tmamoney1

, sum(d.mitemcount - d.bitemcount) as itemcount

from

outd_1708 d

inner join gubun1 g1

ON d.gubun1 = g1.gubun1

inner join gubun2 g2

ON d.gubun1 = g1.gubun1

inner join gubun3 g3

ON d.gubun1 = g1.gubun1 and g2.gubun2 = g3.gubun2

where d.day1 = '2017-08-09'

group by d.gubun1, d.gubun2, d.gubun3, g1.gubun1x --, g2.gubun2x, g3.gubun3x

 

g2.gubun2x, g3.gubun3x 까지 전체를 group by 하면 아래처럼 outd_1708 에 없는것도 나와요 왜이런가요?

 

gubun1 gubun2 gubun3 gubun3x

01 01 01 가공식품

01 01 02 식용유.기름

01 01 03 조미료.장류

01 01 04 유제품

01 01 05 냉장식품

01 01 06 냉동식품

01 01 07 면류

01 01 08 쨈.통조림

01 01 09 과자

01 01 10 음료

01 01 11 기호식품

01 01 12 빵류

01 01 13 간편조리식품

01 01 14 가루.분말류

01 01 19 세트류

01 01 20 아이스크림

01 02 01 일반잡화

01 02 02 건전지.필름

01 02 03 면도기,면도용품

01 02 04 주방잡화

01 02 05 문구류

01 02 06 완구류

01 02 07 CD.음반

01 02 08 도서류

01 02 09 애견용품

01 02 10 의류.신변잡화류

01 02 11 계절용품

01 02 12 전기.가전류

01 02 13 쇼핑봉투

이 글에 대한 댓글이 총 2건 있습니다.

-- 조인 조건이 많이 틀렸네요.
SELECT d.gubun1, d.gubun2, d.gubun3
     , g1.gubun1x, g2.gubun2x, g3.gubun3x
     , SUM(d.tmamoney1  - d.tbamoney1 ) AS tmamoney1
     , SUM(d.mitemcount - d.bitemcount) AS itemcount
  FROM outd_1708 d
 INNER JOIN gubun1 g1
    ON d.gubun1 = g1.gubun1
 INNER JOIN gubun2 g2
    ON d.gubun1 = g2.gubun1
   AND d.gubun2 = g2.gubun2
 INNER JOIN gubun3 g3
    ON d.gubun1 = g3.gubun1
   AND d.gubun2 = g3.gubun2
   AND d.gubun3 = g3.gubun3
 WHERE d.day1   = '2017-08-09'
 GROUP BY d.gubun1, d.gubun2, d.gubun3
     , g1.gubun1x, g2.gubun2x, g3.gubun3x
;

마농(manon94)님이 2017-08-18 08:05에 작성한 댓글입니다.

네 마농님 항상항상 감사드립니다. 수고하세요!

김우성(babokws)님이 2017-08-18 09:46에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
7089sql 입니다. 꼭 부탁 드려요... [1]
도와주세요
2017-08-29
2483
7088다른유형의 레코드형태를 어떻게 빨리 조회할 수 있을까요?
권순환
2017-08-23
2375
7087row 를 늘리기 도움 부탁드립니다. [4]
개발자
2017-08-23
2601
7086group by가 안되는것 같아요 [2]
김우성
2017-08-17
2376
7085두개의 SELECT 한 값을 하나로 묶고싶어요 [2]
김우성
2017-08-13
2484
7081숫자 변환 문제.. [1]
도와주세요.
2017-07-19
2478
7080REGEXP_REPLACE ?? [1]
Twins
2017-07-19
3143
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.050초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다