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 1204 게시물 읽기
No. 1204
[질문] 피벗테이블 SELECT (?) 마지막 한번만 더 도와주세요.
작성자
이경훈(kalsome)
작성일
2004-02-24 10:26
조회수
3,785

http://myhome.naver.com/slimpower/sqlqqq.htm

 

안녕하세요?

저번에 고난이도 SELECT문에 대해 정말로 많은 도움을 받았습니다.

그리고 마지막으로 한번만 더 도와주세요.

 

오전반과 오후반을 online이란 필드로 구분하고 있습니다.

즉, 각 교수의 학년별 신청학생수를 집계하려고 합니다.

 

Case syear WHEN 1 THEN (SELECT Count(sid) FROM s WHERE s.pid=p.pid and syear=1 and online=0) END AS y1,
Case syear WHEN 2 THEN (SELECT Count(sid) FROM s WHERE s.pid=p.pid and syear=2 and online=0) END AS y2,
Case syear WHEN 3 THEN (SELECT Count(sid) FROM s WHERE s.pid=p.pid and syear=3 and online=0) END AS y3,
Case syear WHEN 1 THEN (SELECT Count(sid) FROM s WHERE s.pid=p.pid and syear=1 and online=1) END AS n1,
Case syear WHEN 2 THEN (SELECT Count(sid) FROM s WHERE s.pid=p.pid and syear=2 and online=1) END AS n2,
Case syear WHEN 3 THEN (SELECT Count(sid) FROM s WHERE s.pid=p.pid and syear=3 and online=1) END AS n3

이렇게 할 수 밖에 없습니까?

Case syear WHER 1 THEN (CASE...

이렇게 해도 다시 할 수는 없습니까?

어제 12시간동안 이것만 가지고 씨름했습니다. -_-;

결론은 위처럼 Case 쿼리를 6번날리는 방법으로 밖에 해결이 안나더군요..

쿼리분석기에서 자꾸 치다보니까 손가락이 말을 안듣고..

 

한번만 더 도와주세요.

제가 볼때는 case 3번으로 6번의 효과를 볼 수 있는 방법이 있지 않을까 싶습니다.

 

즉, 결론은 위처럼 하게 되면 그냥 online을 따지지 않고 학년별로 집계를 냈을때 보다

2배 이상의 시간이 걸린다는 겁니다.

 

감사합니다.

[Top]
No.
제목
작성자
작성일
조회
1207분산 트랜젝션 문제입니다.
전병진
2004-02-25
3510
1206JSP 로 다음과 같은 쿼리를 보냈는데 '@P1'오류가 나타나네요... [1]
초보^^
2004-02-24
5081
1205테이블 내용 입력.. 질문 [1]
김태호
2004-02-24
3292
1204[질문] 피벗테이블 SELECT (?) 마지막 한번만 더 도와주세요.
이경훈
2004-02-24
3785
1203ms-sql+jdbc +tomcat 연동에 대하여
궁금한
2004-02-24
3527
1202mssql없이 필드보기..? [4]
-_-;
2004-02-23
3427
1201오라클식으로....
소라
2004-02-22
3124
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다