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 2032 게시물 읽기
No. 2032
쿼리문 작성하라는데... ㅠㅠ
작성자
김중생(jskosr)
작성일
2005-06-17 11:50ⓒ
2005-06-18 09:41ⓜ
조회수
3,371

 

제가 데이터베이스 하나도 몰라서 그러는데 좀 알려주세요

쿼리문 작성...

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

-- 스키마 생성

create table tbla
(
[id] int identity
, col1 char(1)
, col2 int
)

go

-- 테스트 데이터 입력

insert into tbla (col1, col2) values ('A',10)
insert into tbla (col1, col2) values ('B',20)
insert into tbla (col1, col2) values ('C',10)
insert into tbla (col1, col2) values ('D',30)

-- 데이터 확인

select * from tbla

-- -------------------------------------------------------
-- 프로시져의 시작
-- -------------------------------------------------------

create proc sum_of_row

as

-- 석이가 ^-^
-- drop proc sum_of_row

declare cur_sum_of_row cursor
for select [id], col1, col2 from tbla
declare @id int , @col1 char(1), @col2 int
declare @tblx table
(
[id] int
,xcola char(1)
,xcolb int
,xsum int default 0
)
open cur_sum_of_row
fetch next from cur_sum_of_row into @id, @col1, @col2
while @@fetch_status = 0
 begin
  insert into @tblx ([id], xcola, xcolb)
   values (@id, @col1, @col2)
  update @tblx set xsum = (select sum(xcolb) from @tblx)
   where id = @id
  
  fetch next from cur_sum_of_row into @id, @col1, @col2
 end
select * from @tblx
close cur_sum_of_row
deallocate cur_sum_of_row

-- -------------------------------------------------------
-- 프로시져의 끝
-- -------------------------------------------------------


-- 실행

exec sum_of_row

 

 

-- 결과

 


id          xcola xcolb       xsum       
----------- ----- ----------- -----------
1           A     10          10
2           B     20          30
3           C     10          40
4           D     30          70

(4 row(s) affected)

 

헐~ 하나의 sql 이래요

전 노가다 했어요 ㅠ.ㅠ

exec proc 하나잖아 얼메나 쉬어 -_-;

 

석이님이 2005-06-17 13:10에 작성한 댓글입니다.
이 댓글은 2005-06-17 13:12에 마지막으로 수정되었습니다. Edit

/*
create table testTB
(
[id] int identity
, col1 char(1)
, col2 int
)

go

-- 테스트 데이터 입력

insert into testTB (col1, col2) values ('A',10)
insert into testTB (col1, col2) values ('B',20)
insert into testTB (col1, col2) values ('C',10)
insert into testTB (col1, col2) values ('D',30)


--drop table testTB
*/


select x.col1, x.col2 ,
 (select sum(col2) from testTB where [id] <= x.[id]) as 누계
from testTB x
order by 1

 

이것도 있네요 참고하십시요 ^^

 

 

 

여리님이 2005-06-17 13:44에 작성한 댓글입니다. Edit

-_- ; 아 쪽팔린다....ㅠ,ㅠ

선배님 왜 msn 안들어 오세요 -_- 오늘 msn 고장인가봐요 ^-^

반성중입니다. ㅠ.ㅠ 이래서 뭔 dba 를 한다고 ㅠ.ㅠ

석이님이 2005-06-17 13:47에 작성한 댓글입니다.
이 댓글은 2005-06-17 13:51에 마지막으로 수정되었습니다. Edit

크로스 조인을 이용한 누적합계

 

select a.v1, a.v2, b.v1, b.v2
from tblx a cross join tblx b
 where b.v1 <= a.v1
order by a.v1, b.v2

 

select a.v2,  b.v2
from tblx a cross join tblx b
 where b.v1 <= a.v1
order by a.v1, b.v2

 

select a.v2,  sum(b.v2)
from tblx a cross join tblx b
 where b.v1 <= a.v1
group by a.v2
order by min(a.v1)

석이님이 2005-07-20 23:52에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
2036xp_cmdshell 삭제... [1]
왕초보
2005-06-20
2284
2035새로운 테이블? 아니면 필드의 값로 구분?... 어느게 빠를까요? [2]
이오스
2005-06-19
2061
2034안녕하세요... 락 때문에 죽겠네요... [1]
고세환
2005-06-19
2807
2032쿼리문 작성하라는데... ㅠㅠ [4]
김중생
2005-06-17
3371
2031CUBE 를 만들려고 하는데 잘 안되네요..
초보
2005-06-15
2261
2030주별 첫째날 가져오는 스크립트 질문 [2]
김인수
2005-06-15
2947
2029커서로 계산하기 ^-^ 그냥 참고로 보셔요
석이
2005-06-15
3163
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.030초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다