2016-07-27 4 views
3

현재 Java, JS 및 JDBC를 사용하여 웹 응용 프로그램을 개발 중입니다. 내 JSP에 HighChart에 표시하는 데 사용하려는 DB에 트랜잭션 세부 정보가있는 테이블이 있습니다. 나는 다음과 같은 테이블의 ResultSet의를 얻을 수 있어요 :하이 차트에 표시 할 동적 배열 수

enter image description here

이제 내가 원하는 것은 내 HighChart에 전달할 수있는 연도와 종류에 따라 ArrayList의의 번호로 데이터를 분할하는 것입니다 - 각 ArrayList 객체가 포함 된 연도, 카테고리 및 월별 판매의 배열을해야하고 배열이 매년 범주의 월 매출을 나타내는이

2015 , COLOUR , [1,0,0,6,0,0,0,0,0,0,0,0] 

2015 , DESIGN , [2,4,6,0,0,0,0,0,0,0,0,0] 

2016 , DESIGN , [0,0,0,5,5,4,7,0,0,0,0,0] 

2016 , COLOUR , [0,0,0,5,5,3,6,0,0,0,0,0] 

과 같아야합니다 (0 거기에 의미없는 판매 그 달 DB에서 데이터 없음).

필자는 이터레이터와 for-loops를 사용하여 지금 당장이 작업을 수행하려고 노력해 왔지만 작동시키지 못합니다. 나는 코드를 찾지 않고 있으며, 가능한 한 최선의 방법으로 접근하는 방법에 대한 몇 가지 아이디어와 지침을 가지고있다.

+0

데이터베이스 테이블/디자인이 엉망입니다. 그것을 바꿀 수 있습니까? – ControlAltDel

+0

그래, 어떤 제안? 내가 작성한 쿼리의 결과 테이블 일뿐입니다. –

답변

0

업데이트 답 : 종류가 동적 인 경우

, 여기 당신이 할 수있는 작업은 다음과 같습니다

create table CATEGORY (
    ID int NOT NULL AUTO_INCREMENT, 
    NAME varchar(16) NOT NULL, 
    PRIMARY KEY(ID) 
) 

create table MONTHS (
    MONTH int NOT NULL AUTO_INCREMENT, 
    PRIMARY KEY(MONTH) 
) 

create table CATEGORY_SUM (
    ID int NOT NULL AUTO_INCREMENT, 
    CATEGORY int NOT NULL, 
    MONTH int NOT NULL, 
    PRIMARY KEY(ID), 
    FOREIGN KEY(CATEGORY) references CATEGORY(ID), 
    FOREIGN KEY(MONTH) references MONTHS(ID) 
) 

그런 다음

그런 다음 당신이 좋아하는 뭔가를 할 수 필요한 모든 개월로 개월 테이블을 채우기

SELECT * from CATEGORY_SUM 
RIGHT OUTER JOIN MONTHS ON CATEGORY_SUM.MONTH = MONTHS.MONTH 
order by CATEGORY_SUM.CATEGORY, CATEGORY_SUM.MONTH 

나는 카테고리의 실제 이름을 얻기 위해 귀하에게 맡깁니다. 이 쿼리

+0

이 문제는 범주가 동적이기 때문에 예제로 사용하고 있습니다. 사용자가 만들었을 수도있는 각 범주에 대해 별도의 ArrayList를 갖고 싶습니다. –

+0

고맙습니다. –

관련 문제