2016-07-27 54 views
3

我正在使用Java,JS和JDBC開發Web應用程序。我在我的數據庫中有一些包含事務詳細信息的表,我想用它在我的JSP中的HighChart中顯示。我能夠得到下表的一個結果:構建在Highchart中顯示的數組的動態數量

enter image description here

現在,我要的是將數據分割成若干的基礎上,今年和類別ArrayList S的我可以通過我的HighChart - 每個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就意味着沒有銷售或沒有數據從那個月的數據庫)。

我一直在試圖得到這個權利很長一段時間了,使用迭代器和for循環,但我無法得到它的工作。我不在尋找代碼,只是一些想法和指導如何接近這個最好的方式,因爲我有點卡住了。

+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

謝謝,我會試試這個。 –