투표자 테이블과 지역 테이블을 가지고 지역별 투표율을 구하는 프로시저를 구현하는 중인데.
각각 따로 코딩을 할떄는 정상적으로 컴파일이 되는데 단일 프로시저로 할때는 몇가지 문제가 발생하네요.
create proc 지역별투표율
as
select (select t.지역, count(t.이름)
from 투표자 t join 지역 j on t.지역 = j.지역
where t.투표유무 = 'O'
group by t.지역) / (select t.지역, count(t.이름)
from 투표자 t join 지역 j on t.지역 = j.지역
group by t.지역)
이게 최초 제가 짠 코드입니다. 어떤문제가 발생했는지 잘 몰라 2차로 아래처럼표현해 봤지만
create proc 지역별투표율
as
select ((select t.지역, count(t.이름)
from 투표자 t
where exists ( select t.지역 from 투표자 t , 지역 j where t.지역 = j.지역 )and t.투표유무 = 'O'
group by t.지역) /
(select t.지역, count(t.이름)
from 투표자 t
where exists (select t.지역 from 투표자 t , 지역 j where t.지역 = j.지역)
group by t.지역))
역시 문제가 발생했습니다.
따로 방법이 없을까 해서
create proc 지역별투표율
@t1 int,
@t2 int
as
select t.지역, @t1/@t2
from 투표자 t join 지역 j on t.지역 = j.지역
where @t1 =(select count(t.이름) from 투표자 where t.투표유무 ='O')
AND @t2=(SELECT count(t.이름) from 투표자)
group by t.지역
3차로 이렇게 만들어 봤지만 역시 안돌아가더군요.
지역테이블에는 지역이란 필드 하나가 있고 투표자 테이블에는 이름,직업,나이,성별,지역,투표유무필드가 있습니다.
이건 답이 정해진 문제가 아닌 시험공부를 하다 제가 만든 선거db를 가지고 지역별 투표율을 프로시저로 구해보려고 하는것입니다.
팁좀 주시면 감사하겠습니다 (__)