我正在寻找如何根据 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