2017-12-19 21 views
2

mySQL 데이터베이스의 열에 특정 값의 이름을 바꾸는 데 문제가 있습니다. 처음에는 이름 바꾸기에 'AS'를 사용할 수 있다고 생각했지만 실제로 열에있는 값의 이름을 바꾸려고합니다. 내 열은 FoundLost입니다. 이 열에서 I Store 값은 '0'과 '1'입니다. '0'이 발견되고 '1'은 분실입니다.쿼리 내의 값 이름 바꾸기

이 값의 이름을 변경해야하는 이유는이 데이터베이스의 데이터를 사용하여 pieChart를 만들기 때문입니다. .getName 함수는 '0'과 '1'이름을 부여합니다.

누군가 나를 도울 수 있기를 바랬습니다!

public static ObservableList getPChartFoundLost() { 
    String query = "SELECT FoundLost, concat(round(count(FoundLost) *100/(SELECT count(FoundLost) FROM Luggage))) AS percent FROM Luggage GROUP BY FoundLost"; 

    ObservableList FoundLost = FXCollections.observableArrayList(); 

    Connection connection = DatabaseUtils.connect(); 

    if (connection != null) { 
     try { 
      Statement statement = connection.createStatement(); 
      ResultSet resultSet = statement.executeQuery(query); 

      while (resultSet.next()) { 

       FoundLost.add(new PieChart.Data(resultSet.getString("FoundLost"), resultSet.getInt("percent"))); 
      } 

      resultSet.close(); 
      statement.close(); 
     } catch (SQLException sqle) { 
      System.out.println(sqle.getMessage()); 
     } 
     DatabaseUtils.disconnect(connection); 
    } 

    return FoundLost; 
} 

컨트롤러 :

쿼리와 클래스는 아래 코드

public void clickPChartFoundLost(ActionEvent event) { 

    //PieChart 
    ObservableList FoundLost = StatisticsUtils.getPChartFoundLost(); 

    pieChart.setVisible(true); 
    pieChart.setData(FoundLost); 
    pieChart.setTitle("Found and Lost luggage"); 

    for (final PieChart.Data data : pieChart.getData()) { 
     data.getNode().addEventHandler(MouseEvent.ANY, 
       new EventHandler<MouseEvent>() { 

      @Override 
      public void handle(MouseEvent e) { 

       //Label vullen met data van Observable list uit Database 
       pieChartValueLable.setText(String.valueOf(data.getName()) + ": " 
         + String.valueOf(data.getPieValue()) + "%"); 
      } 
     }); 
    } 
} 

감사합니다!

답변

1

쿼리에서이 값을 FoundLost 대신 첫 번째 열로 사용해보십시오. 01 값을 차트의 의미있는 문자열로 변환합니다. 나머지 쿼리는 그대로 유지됩니다.

IF(FoundLost = 0,'Found','Lost') AS FoundLost 
+0

와우 덕분에 효과가있었습니다. –