2016-06-24 119 views
-2

我想總結一下quantityTaken爲每個itemNo,並試圖顯示它在tableview中的每個itemNo一次,任何幫助將不勝感激。 這是我的代碼: 我希望您能理解我的要求試圖從表中總結一列MySql

@FXML 
    private void populateTableView() { 
     int totalQuantityTaken = 0; 

     try { 

      /* SQL QUERY */ 
      String sql = "SELECT employeeName, itemNo, itemName, timeTaken, quantityTaken FROM UsedProduct\n" + 
        "INNER JOIN Employee ON\n" + 
        "UsedProduct.employeeBarcode = Employee.employeeBarcode\n" + 
        "INNER JOIN Item ON\n" + 
        "UsedProduct.itemBarcode = Item.itemBarcode\n" + 
        "WHERE Item.itemNo = ?;"; 

      /* EXECUTION OF QUERY */ 
      String inputBarcode = tfSearch.getText(); 
      PreparedStatement preparedStatement = connectDB.preparedStatement(sql); 
      preparedStatement.setString(1, inputBarcode); 

      ResultSet result = preparedStatement.executeQuery(); 

      while (result.next()){ 
       int quantityTaken = result.getInt("quantityTaken"); 
       totalQuantityTaken = quantityTaken + totalQuantityTaken; 
      } 

      while (result.next()) { 

       String employeeName = result.getString("employeeName"); 
       String itemNumber = result.getString("itemNo"); 
       String itemName = result.getString("itemName"); 
       String timeTaken = result.getString("timeTaken"); 
       //String quantityTaken = result.getString("quantityTaken"); 
       UsedProductObj usedProductObj = new UsedProductObj(employeeName, itemNumber, itemName, timeTaken, totalQuantityTaken); 

       searchData.addAll(usedProductObj); 

      } 
     } catch (Exception e) { 
      MainViewController.updateWarningMessage("Error"); 
      e.printStackTrace(); 
      System.out.println("Exception in searchByItemNumberInUsed() from AdminController class: " + e.getMessage()); 
     } 

     /* SETTING VALUES FROM OBJECT INTO COLUMNS */ 
     usedProductEmployeeNameColumn.setCellValueFactory(new PropertyValueFactory<SearchObj, String>("employeeName")); 
     usedProductItemNumberColumn.setCellValueFactory(new PropertyValueFactory<SearchObj, String>("itemNumber")); 
     usedProductItemNameColumn.setCellValueFactory(new PropertyValueFactory<SearchObj, String>("itemName")); 
     usedProductTimeTakenColumn.setCellValueFactory(new PropertyValueFactory<SearchObj, String>("timeTaken")); 
     usedProductQuantityColumn.setCellValueFactory(new PropertyValueFactory<SearchObj, String>("quantityTaken")); 

     /* ADDING THE OBSERVABLE LIST TO THE TABLE VIEW */ 
     usedProductTableView.getItems().setAll(searchData); 
     //searchData.clear(); //i did this because it would duplicate the last element if the item was returned 

    } 

回答

0

我沒有看過你的整個代碼,但我認爲你正在尋找的是在GROUP BY在MySQL功能。類似這樣的:

SELECT sum(quantityTaken), itemNo FROM UsedProduct GROUP BY itemNo