小编Zep*_*hyr的帖子

SQL组合多个SELECT语句

我正在尝试构建一个SQLite查询,它将从单个表中收集统计信息.

该表包含各种日志,每天有几个条目.我需要在搜索参数中每天获得一个单独的行,然后使用某些布尔值编译这些日期内的行总数.

这是我到目前为止的查询:

SELECT DATE(DateTime) AS SearchDate,
     (SELECT COUNT() AS Total
                FROM CallRecords
                WHERE DATE(DateTime)
                BETWEEN '2017-08-27' AND '2017-09-02'
                GROUP BY DATE(DateTime)
                ORDER BY Total DESC) AS Total,
    (SELECT COUNT() AS Total
                FROM CallRecords
                WHERE NoMarket = 1
                AND DATE(DateTime)
                BETWEEN '2017-08-27' AND '2017-09-02'
                GROUP BY DATE(DateTime)
                ORDER BY Total DESC) AS NoMarkets,
    (SELECT COUNT() AS Total
                FROM CallRecords
                WHERE Complaint = 1
                AND DATE(DateTime)
                BETWEEN '2017-08-27' AND '2017-09-02'
                GROUP BY DATE(DateTime)
                ORDER BY Total DESC) AS Complaints,
    (SELECT COUNT() …
Run Code Online (Sandbox Code Playgroud)

mysql sql sqlite datetime aggregate-functions

3
推荐指数
1
解决办法
50
查看次数

如何重置ComboBox并显示PromptText?

注意:我 在这里扩展重复的问题,因为它不包括 MCVE。我发现的其他几个类似问题也不包括有效的答案。

我无法找到清除选择后ComboBox显示的方法。PromptText

这是 MCVE:

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception {

        final VBox root = new VBox(10);
        root.setAlignment(Pos.TOP_CENTER);
        root.setPadding(new Insets(10));

        final ComboBox<String> cboSelection = new ComboBox<>();
        final Button btnClear = new Button("Clear");

        // Set ComboBox selections
        final ObservableList<String> subjectsList = FXCollections.observableArrayList();
        subjectsList.addAll("Software", "Math", "Physics");

        // Setup the Subject selection
        cboSelection.setPromptText("Select Subject");
        cboSelection.setItems(subjectsList);

        // Set action for "Clear" button
        btnClear.setOnAction(e -> {
            cboSelection.setValue(null);
        });

        root.getChildren().addAll(cboSelection, btnClear);

        primaryStage.setTitle("ComboBox Demo"); …
Run Code Online (Sandbox Code Playgroud)

java combobox javafx

3
推荐指数
1
解决办法
5062
查看次数

如何更改"警报"对话框的图标?

我想更改警报消息的以下默认图标.我该怎么做?

这就是我想要改变的:

截图

我想改变Icon.这意味着我想将蓝色图标更改为其他内容.不要改变alret类型

java user-interface alert javafx

3
推荐指数
2
解决办法
713
查看次数

如何为一个枚举设置值?

我有以下内容enum

enum ColumnType {
    TEXT,
    NUMERIC,
    DATE
}
Run Code Online (Sandbox Code Playgroud)

使用this时enumString如果使用该DATE值,则需要能够指定日期格式。我该怎么做?

例如,在我的代码中,我想使用类似于以下内容的方法来调用方法:

foo(ColumnType.DATE("yyyyMMdd");
Run Code Online (Sandbox Code Playgroud)

后来我需要能够检索使用该值object.getColumnType.getDateFormat()如果ColumnTypeDATE。这有可能吗?

到目前为止,我已经找到的文档提供了设置枚举值的方法,但是它们都展示了如何为所有枚举值(而不是单个枚举)设置它。

我对枚举的理解是非常基本的,因此,如果措辞不正确,我深表歉意。谢谢!

编辑:

日期格式需要在运行时设置,因为用户将选择/输入日期格式字符串。

java enums

3
推荐指数
1
解决办法
102
查看次数

如何将一个表中的多个列连接到另一个查找表?

当一个表中的多个列引用另一个表时,我无法弄清楚如何将几个表连接在一起。

例如,我有一个“document_statuses”表:

document_statuses table:
+-----------+-------------+
| status_id | status_name |
+-----------+-------------+
|         1 | RECEIVED    |
|         2 | MISSING     |
|         3 | NOT_NEEDED  |
+-----------+-------------+
Run Code Online (Sandbox Code Playgroud)

现在在另一个表中,我正在跟踪多个文档的状态:

filings table:

+-----------+-------------+----------------+----------------+----------------+
| filing_id | filing_name | doc1_status_id | doc2_status_id | doc3_status_id |
+-----------+-------------+----------------+----------------+----------------+
|         1 | John        |              1 |              3 |              2 |
|         2 | Mikaela     |              2 |              3 |              2 |
|         3 | Sam         |              1 |              2 |              1 |
+-----------+-------------+----------------+----------------+----------------+
Run Code Online (Sandbox Code Playgroud)

我将如何编写一个查询来提取status_name每一列并产生以下结果: …

sql sql-server

3
推荐指数
1
解决办法
1561
查看次数

如何使用Python读取包含扩展字体的Excel文件?(openpyxl 错误:最大值为 14)

作为 Python 的学习项目,我尝试读取目录中的所有 Excel 文件并提取所有工作表的名称。

我一直在尝试几个可用的 Python 模块来执行此操作(pandas在本示例中),但遇到了其中大多数依赖于openpyxl.

这是我当前的代码:

import os
import pandas

directory_root = 'D:\\testFiles'

# Dict to hold all files, stats
all_files = {}

for _current_path, _dirs_in_path, _files_in_path in os.walk(directory_root):

    # Add all files to this `all_files`
    for _file in _files_in_path:
        # Extract filesystem stats from the file
        _stats = os.stat(os.path.join(_current_path, _file))

        # Add the full file path and its stats to the `all_files` dict.
        all_files[os.path.join(_current_path, _file)] = _stats

# Loop through all found …
Run Code Online (Sandbox Code Playgroud)

python excel pandas openpyxl

3
推荐指数
1
解决办法
1212
查看次数

如何实现多对多数据库关系?

我正在建立一个SQLite数据库,并且不确定如何进行此方案。

我将使用一个真实的示例来说明我需要什么:

我列出了各州许多商店出售的产品。并非每个人都Store出售某项特定商品Product,而那些出售某项特定商品的人可能只能将其出售State。大多数商店出售一个在大多数国家的产品,但不是全部。

例如,假设我要在夏威夷购买吸尘器。Joe's Hardware在18个州销售吸尘器,但在夏威夷不销售。沃尔玛在夏威夷出售吸尘器,但不出售微波炉。汉堡王根本不卖真空吸尘器,但会给我在美国任何地方的Whopper。

因此,如果我在夏威夷寻找真空,那么我应该只能得到沃尔玛。虽然其他商店可能会出售吸尘器,并且可能在夏威夷出售,但它们都不做,沃尔玛却做。

如何在关系数据库中有效地创建这种类型的关系(具体来说,我目前正在使用SQLite,但将来需要能够转换为MySQL)。

很显然,我需要为表ProductStoreState,但我就如何创建一个损失和查询相应的连接表...

例如,如果我查询某个商品Product,我Store将如何确定要在特定商品中出售哪个商品State,同时要记住沃尔玛可能不会在夏威夷出售吸尘器,但他们确实会在夏威夷卖茶?

我了解RD中1:1、1:n和M:n关系的基本知识,但是我不确定在存在多对多情况的情况下如何处理这种复杂性。

如果您可以显示一些SQL语句(或DDL)来证明这一点,我将非常感激。谢谢!

database sqlite many-to-many

2
推荐指数
1
解决办法
1847
查看次数

如何在 SceneBuilder 中更改 TabPane 的标题颜色?

我想更改 SceneBuilder 上的标题颜色(灰色)。我试过更改背景,但它只更改框架,而不是选项卡的顶部。我对 JavaFX 和 CSS 有点陌生,所以我不知道如何使用 CSS 手动更改它。这是我想要改变的:

截屏

我想将灰色条更改为蓝色。

javafx scenebuilder

2
推荐指数
1
解决办法
474
查看次数

如何在JavaFX中创建多列组合框?

我正在尝试创建一个ComboBox在其下拉菜单中显示多个列的。

这是显示我希望它的外观的屏幕截图:

多列组合框

有什么建议么?

我脑海中唯一的解决方案是通过扩展ComboBox和自定义多列容器来创建自定义容器。

但是JavaFX甚至提供给我创建自定义UI容器的选项吗?

如何创建自定义UI容器以及如何在FXML中使用它?

user-interface combobox javafx

2
推荐指数
1
解决办法
69
查看次数

如何创建一个方法来接受和返回任何类型的 ObjectProperty&lt;?&gt;?

我的应用程序有一个包含多个ObjectProperty<Enum>字段的对象。我正在尝试编写一个执行以下操作的辅助方法:

  • 接受任何类型的ObjectProperty<Enum>作为参数
  • 显示一个ChoiceDialog弹出窗口,允许用户为enum
  • 更新enum传递ObjectProperty本身的值

我对泛型根本不是很熟悉,但我相信以下可能有效(没有编译器错误):

public static <E extends Enum<E>> boolean editEnumProperty(String prompt,
                                                           ObjectProperty<Class<E>> property,
                                                           Window owner) {

    // Create the dialog to ask for a new enum value
    ChoiceDialog<E> dialog = new ChoiceDialog<>();
    dialog.setTitle("Edit Value");
    dialog.setHeaderText(null);
    dialog.setContentText(prompt);
    dialog.initOwner(owner);

    // Currently, this displays the enum NAME in the ComboBox, rather than it's text value        
    dialog.getItems().setAll(FXCollections.observableArrayList(property.get().getEnumConstants()));

    Stage dialogStage = (Stage) dialog.getDialogPane().getScene().getWindow();
    dialogStage.getIcons().add(ImageHelper.appIcon());

    Optional<E> result = dialog.showAndWait();
    if (result.isPresent()) {
        Utility.printTempMsg(result.toString()); …
Run Code Online (Sandbox Code Playgroud)

java generics enums javafx

2
推荐指数
1
解决办法
60
查看次数