在查询中重命名值

Rename value within query

我在重命名 mySQL 数据库的列中的特定值时遇到问题。起初我以为我可以只使用 'AS' 来重命名,但我实际上是在尝试重命名列中的值。我的专栏名为 FoundLost。在此列中,我存储值“0”和“1”。 “0”是找到的,“1”是丢失的。

我需要重命名这个值的原因是因为我使用这个数据库中的数据来创建一个饼图。使用函数 .getName 它给出名称“0”和“1”。

我希望有人能帮助我!

带查询的class是下面的代码:

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()) + "%");
            }
        });
    }
}

谢谢!!

在您的查询中,尝试将其作为您的第一列,而不仅仅是 FoundLost。它将您的 01 值转换为对您的图表有意义的字符串。您的查询的其余部分可以保持不变。

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