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
운영게시판
최근게시물
Sybase Q&A 2298 게시물 읽기
No. 2298
도저히 초보실력으로 나오질 않네요ㅠ.ㅠ
작성자
홍종진(hsk380703)
작성일
2008-09-24 00:48
조회수
7,817

DB 통계 부탁드립니다.

통계를 리스트를 만들려고하는데..

어떻게 해야하는지모르겠어요.ㅠㅠ

양식은 이렇습니다

회사명, 상담신청자, 상담제목 e_s_sd 에 있고
예비상담자 전문상담자 기타건의사항은 e_s_re에 있는경우에는 어떻게해야하죠??

------------------------------------------------------------------------------------
회사명 상담신청자 상담제목 예비상담자 전문상담자 기타건의사항

A         김을동        제목:           1           2                -__-
           홍길동        제목:           1           2                -__-

B         차태현        제목:           1          2                  -__-

C         알렉스          제목:          1          2                  -__-

D         누구지          제목:          1          2                  -__-

e_sangdam 신청테이블
com_name = 회사명 
person_name = 상담신청자
title = 제목

e_sangdamre 답변테이블
adname  = 예비상담자
junname = 전문상담자
gita  = 기타건의사항.





--------------------------------------------------
회사명 상담건수 완료건수 평군만족도
A         3          1                  80%

B         5          4                  60%

C         1          0                  -


테이블 구조는 이렇습니다.
e_sangdam 신청테이블

jnum =접수번호 ( 인덱스)
com_name = 회사명

e_sangdamre 답변테이블

jnum =접수번호 ( 인덱스)
manjoc = 만족도 입력


구조가 이렇게 되어있는데  쿼리를 어덯게 작성해야할까요??

도저히 초보실력으로 나오질 않네요ㅠ.ㅠ

부탁드릴게요..


이렇게 만들고싶은 어덯게 해야할지모르겠습니다.

2개의 테이블을 조인해야하나요??: 부탁드릴게요 도와주세요.ㅠ

이 글에 대한 댓글이 총 3건 있습니다.
mssql로 했는데 sybase랑 비슷해서  같을겁니다.

e_sangdam (jnum , com_name )

1 삼성전자
2 삼성전자
3 엘지전자
4 삼성전자
5 엘지전자
6 엘지전자
7 대우전자
8 대우전자
9 엘지전자
10 삼성전자
11 엘지전자

e_sangdamre (jnum , manjoc )

1 80.50
2 70.50
3 86.50
7 75.50

select   a.com_name , count( a.jnum) , count(b.jnum), avg(manjoc)
   from  e_sangdam  a, e_sangdamre b
where  a.jnum *= b.jnum
group by  a.com_name

------------------------------------------------------------
대우전자 2 1 75.500000
삼성전자 4 2 75.500000
엘지전자 5 1 86.500000

참고로  아웃조인일경우 주의 하셔야 할것이 기준이 되는 자료를 잘 선택하셔야 합니다.
전체의 내용이 나오는 테이블을 기준으로 삼으셔야 하구요. 
필요에 따라서는 기준을 조합하는 가상의 테이블을 만들고 이 가상의 테이블을 기준으로 아웃 조인을 하는 겨우도 있습니다. 존재하지 않는 자료를 가지고 자료를 나오게는 할수 없습니다.

위의 쿼리도 null을 이용해서 count, avg를  원하는 값을 나타낼수 있는겁니다. 
null은 가만하지 않음.

sybase 12.5미만 버젼은 인라인뷰가 지원이 안되는데. 12.5이상 버젼에서 인라인 뷰를 이용하여 각각의 카운터,평균의 집계를 계산하고 인라인뷰를 가지고 아웃 조인 하셔도 됨.



ss님이 2008-09-25 11:05에 작성한 댓글입니다.
이 댓글은 2008-09-25 11:17에 마지막으로 수정되었습니다. Edit

너무너무 갑사합니다



만족도값이 스트링일경우에는 어떻게해야하죠? 에버리지가 인트형어쩌구나오던데..ㅠ

홍종진(hsk380703)님이 2008-09-28 10:45에 작성한 댓글입니다.

convert(decimal,컬럼명) 이런식으로 형변환하시다음 계산하셔야 합니다.

zz님이 2008-09-29 09:35에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
2301IQ 에서 덤프 파일 생성 및 로드... [2]
왕초보
2008-10-02
8062
2300다시한번 날짜&시간에 대해서... [1]
홍종진
2008-09-28
8428
2299Perl 관련 질문입니다. [2]
우태열
2008-09-27
7066
2298도저히 초보실력으로 나오질 않네요ㅠ.ㅠ [3]
홍종진
2008-09-24
7817
2297다시한번 부탁드립니다. 날자에관하여.. [1]
홍종진
2008-09-24
6998
2296DB통계 부탁드릴게요 봐주세요.ㅠㅠ
홍종진
2008-09-23
6952
2295사이베이스 고수님들보세요..ㅠ날짜 15일보다 [2]
홍종진
2008-09-22
7402
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.021초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다