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 1384 게시물 읽기
No. 1384
3000개 이상되는 컬럼값 뽑아내는 문제....
작성자
민정
작성일
2004-06-22 18:00ⓒ
2004-06-22 19:48ⓜ
조회수
4,083

안녕하세요.....


######## table1

---------------------

num | email |

2 | a |

3 | b |

4 | c |

5 | d |

9 | e |

10 | f |

11 | g |

12 | h |

....

....

3500 | ... |


이렇게 테이블에 값이 저장되어 있습니다...

하고자 하는것은

일단 num 값에는 처음에 1이 지워졌어 없고 2부터 시작할수도 있고 3부터 시작할수 있씁니다..

중간중간에 빠진값도 있고요....

나타내고자 하는것은 셀렉트 박스에

처음num번호 ~ 250개가 되는 마지막 num번호

다음num번호 ~ 250개가 되는 마지막 num번호


이렇게 하여 마지막 까지 계산하여 루프를 돌려 셀렉트 박스에 나타내고 싶습니다...

왕초보라서 도움을 요청합니다.... 고수님들 많이많이 도와주세요.... 제발 도와주세요...

 

********* 밑에 처럼하면 숫자가

처음num번호 ~ 250개가 되는 마지막 num번호

다음num번호 ~ 250개가 되는 마지막 num번호

2~260

261~515

이런식으로 250개씩 셀렉트 박스에 나타내주는것 되는데....

원래 하고자 하는 목적은 이 셀렉트 번호를 가져가서 해당되는 번호에서 번호까지 메일을 보내는것입니다.

그러므로 처음값과 250개가되는 num값이 정확해야되는데... 정확하지 않더군요...

단순히 그냥 250으로 나누어서 250개가 되는 번호만 찍은것 같은데...

제가 짠게 아니라 여기 게시판에 글올려는데 올라왔어 해보았는데 정확하지가 않아서요...

전체회원메일 250명씩 보낼때는 문제가 없는데...

남자 회원일때는 num값이 안맞아요 ㅠ.ㅠ

sql = "select count(num) from member where ssn2 like '1%' or ssn2 like '3%'"

이것이 남자회원 뽑아내는 쿼리입니다...

똑같이 적용을 해보았는데... num값이 250개되는 지점의 num값이 일치하지 않습니다.

 

여자회원도 일치하지 않더군요 ㅠ.ㅠ

select count(num) from member where ssn2 like '2%' or ssn2 like '4%'

 

num값이 시작되는 부분num ~ 정확하게 250개가되는 지점의 num값

이 와야합니다... 제발도와주세요...


************************************************************************

 

<%

set rs = con.Execute("SELECT COUNT(number) FROM test_number")

if not (rs.bof or rs.eof) then

recordCount = rs(0)

else

recordCount = 0

end if

rs.close

pageCount = int((recordCount-1)/250) +1

response.write "selectbox에 값넣기<br>"

response.write "<select name='aaa' size='1' style='width:140px'>" & vbcr

for i = 1 to pageCount

Qry = ""

Qry = Qry & "SELECT TOP 250 number FROM test_number WHERE number NOT IN ("

Qry = Qry & "SELECT TOP " & (int(i - 1) * 250) & " number FROM test_number ORDER BY number) "

Qry = Qry & "ORDER BY number"

set rs = con.Execute(Qry)

if not (rs.bof or rs.eof) then

numArray = rs.GetString(2,,,"#")

end if

rs.close

'분리

numArray = Split(numArray,"#")

'처음번호

FirstNumber = numArray(0)

'마지막번호

LastNumber = numArray(Ubound(numArray)-1)

response.write "<option value='" & FirstNumber & "'>" & FirstNumber & "~" & LastNumber & "</option>" &

vbcr

Erase numArray

next

response.write "</select>" & vbcr

con.close

set rs = nothing

set con = nothing

%>

=====================================  위에것으로 하면 250개식은 가지오는데...

단순히 250으로 나누어서... 그런데 문제가 정확한 num값을 가져와야 하는데 정확한

num값을 가져오지 못하더군요...

============ 밑에것으로 하면 정확한 num값을 가져오지만 나누어진 마지막 num값 rs.eof 일때

어떻게 가져오는지 어떻게 해야하는지 모르겠습니다.... ㅠ,ㅠ

좀 도와주세요. 정말 급하거라 고수님들 많이 도와주세요....

==============================================

------------------------------------------------------------------------

sql0 = "select num from member where ssn2 like '1%' or ssn2 like '3%' order by num"

set rss0 = server.CreateObject("ADODB.Recordset")

rss0.open sql0,dbcon,1

fn = 1 '250번째인지 아닌지를 구별 하기 위한 변수

DO While Not rss0.EOF

if fn = 1 then '만약 1이면

num = rss0("num")

else if fn = 250 then '만약 250이면

num_1 = rss0("num")

sq = "select top 1 num from member order by num desc"

set r0 = server.CreateObject("ADODB.Recordset")

r0.open sq,dbcon,1

else if rss0.eof then

num_1 = r0("num")


response.write "<OPTION>" & num & "~" & num_1 & "</OPTION>"

End if

End if

end if


if not rss0.eof then

if fn < 250 then 'fn이 250보다 작다면

fn = fn + 1

else if fn = 250 then

fn = 1 'fn 초기화--;;

End if

End if

else if rss0.eof then

if fn < 250 then

fn = fn + 1

end if

end if

end if

rss0.MoveNext

'if rss0.Eof then

'rss0.MovePrevious '마직막 레코드일때 --;; 다시 돌아감--;;;

'fn = 250 '마직막 레코드니까 fn을 250으로 줘서 값을 쓸수 있게 함--;;

'End if

Loop

rss0.Close

Set rss0 = Nothing

--------------------------------------------------------------------------

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

select  min(b.num),  max(b.num)
  from
           ( select  top 250   a.num
                from  table_1 a
            order by   a.num
           ) b

 

저의 귀차니즘에 의거하여,

order by 쓰면 편하고 빠르게 나오는데,

이 걸 원하는지는 ........

t_1234님이 2004-06-24 11:43에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1387오라클과의 연결된 서버시 문제점.....
전병진
2004-06-23
4235
1386[질문]테이블구조가 같은 테이블이 여러개있을때 검색하는 방법은? [1]
궁금한이
2004-06-23
2964
1385이 쿼리좀 한번 봐주세요...^^ [1]
고석주
2004-06-22
2539
13843000개 이상되는 컬럼값 뽑아내는 문제.... [1]
민정
2004-06-22
4083
1383테이블에 foreign key를 주고 싶습니다.
초보 sql
2004-06-22
2723
1382이런 쿼리문 해석좀 부탁 드립니다. [1]
강진수
2004-06-21
3279
1381게시판을 만들려고 하는데요,...
준하
2004-06-19
2594
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다