MSSQL 에 계산식넣을수는없나요? 채택완료

10년 전 조회 6,890

a,b,c,d,e,f,g,h,i,j,k,pm,per라는 컬럼이있습니다.

각각 

1,2,3,4,5,6,7,8,9,10,+,20  이라는숫자가들어가있구여

pm은 라디오박스로 +,- 선택을할수있습니다.

test.asp 에서 폼값으로 testok.asp로 값을넘겨줍니다.

여기서 pm의값을 IF문으로 걸러냅니다.

pm의값이 + 라면

a,b,c,d,e,f,g,h,i,j,k 라는 컬럼에있는숫자에 본인의값+(본인의값*0.2)를해줍니다 (per컬럼에 들어가있는값 20) 

만약 -라면

a,b,c,d,e,f,g,h,i,j,k 라는 컬럼에있는숫자에 본인의값-(본인의값*0.2)를 해줍니다

그다음다시 test.asp로 돌아옵니다.

지금 빨간색으로 되있는부분이 되질않습니다..

예제나 팁좀부탁드립니다.

답변 2개

채택된 답변
+20 포인트

각 필드 별로 case when 돌리시면 됩니다.

select case when pm > 0 then a + (a * 0.2) when pm < 0​ then a - (a * 0.2)​ else a end as a

      , case when pm > 0 then b + (b * 0.2) when pm < 0​ then b - (b * 0.2)​ else b end as b

.

.

.

from '테이블'

pm이 0일 때 값이 없어서 pm이 0일 때는 각 필드 값을 그대로 가져오게 했는데 그 부분을 다르게 가져오실

거면 수정하시면 됩니다.

연산식은 a + (a * 0.2)​ 보다는 a * 1.2, a - (a * 0.2)​ 보다는 a * 0.8이 나을 듯 합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

sql은 표준 ANSI 쿼리를 사용합니다.

특별한 경우가 아니라면 계산식등은 표준규약의 SQL이라면 대부분 비슷합니다.

사용하시는 자세한 DB구조등을 모르겠으나 올리신 내용을 볼때

sum,if,case 등의 연산쿼리를 사용하면 가능할듯합니다.

http://blog.daum.net/_blog/BlogTypeView.do?blogid=0Gpbw&articleno=8006521

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고