2013-05-20 129 views
-1

一個表項的總和我有三個表檢索從GROUP BY查詢

private static final String DTReasonTable = "create table tb_DTReasons(DTReasonId integer primary key autoincrement,DTReason text)"; 

private static final String ConfigurationTable = "create table tb_Config(ConfigId integer primary key autoincrement," + 
     "RawMaterialName text,OutPut_pdt text,TotalWorkHrs real,Quantity real,ProcessStartTime real,OutputQuantity real,procesEndTime real)"; 

private static final String DownTimeTable = "create table tb_DownTimeTable(DT_Id integer primary key autoincrement,ConfigId integer," + 
     "StartTime real,EndTime real,DTReasonId integer)"; 

我想創建像下面

enter image description here

誰能幫我寫報告相應的報告生成程序?

public Cursor getDtAnalysisReport() 
{ 
    return this.data.rawQuery("select EndTime-StartTime as duration,tb_DTReasons.DTReason,count(tb_DownTimeTable.DTReasonId) from tb_DownTimeTable" + 
      " inner join tb_DTReasons on tb_DownTimeTable.DTReasonId = tb_DTReasons.DTReasonId group by tb_DownTimeTable.DTReasonId ", null); 

} 

這是我試過的,但是我得到一個錯誤。請幫我找到一個解決方案。

+1

用於將模式與結果放在一起的'http:// sqlfiddle.com' –

+0

由於屏幕截圖不可見,請粘貼您想要的報告。 –

回答

0
SELECT DTReason AS 'Down Time Reason', 
     SUM(EndTime - StartTime) AS 'Duration', 
     SUM(EndTime - StartTime)/
     (SELECT SUM(EndTime - StartTime) 
     FROM tb_DownTimeTable 
     ) * 100 AS '% Total Down Time', 
     COUNT(*) AS 'No of Occurrences' 
FROM tb_DTReasons 
JOIN tb_DownTimeTable ON tb_DTReasons.DTReasonId = tb_DownTimeTable.DTReasonId 
GROUP BY tb_DTReasons.DTReasonId