小编Krø*_*lle的帖子

从子查询中的多行中选择一张表中的结果

我正在寻找如何根据 PostgreSQL (10) 中子查询的结果从一个表中选择多行。我对高级数据库概念不是很熟悉,所以我可能会在这里遗漏一些明显的东西(即我的词汇量可能不够)。我不知道该怎么做PARTITION BY,但也许这是可能的。

数据库小提琴:https://www.db-fiddle.com/f/w7EwvYujxg4wmL7wHkfBdD/0

CREATE TABLE devices(id INTEGER PRIMARY KEY, name VARCHAR UNIQUE);
CREATE TABLE results(id INTEGER PRIMARY KEY, test_name VARCHAR, results JSON, state VARCHAR);
CREATE TABLE results_for_device(results_id INTEGER, device_id INTEGER, PRIMARY KEY(results_id, device_id));

INSERT INTO devices(id, name) VALUES
    (1, 'Dev1'),
    (2, 'Dev2');

INSERT INTO results(id, test_name, results, state) VALUES

    # Results thread for 'test1' and 'Dev1'
    (1, 'test1', '{}', 'CURRENT_BLUEPRINT'),       # Select all the below results in this section
    (2, 'test1', '{}', 'MATCHING_BLUEPRINT'),
    (3, …
Run Code Online (Sandbox Code Playgroud)

postgresql

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

标签 统计

postgresql ×1