我使用 Postgresql 作为我的数据库,以防万一这有帮助,尽管我想找到一种纯 SQL 方法而不是 Postgresql 特定的实现。
我有大量从制造电子产品中获得的测试数据,我想获取该组数据并从中提取哪些单元在测试期间满足某些标准,最好使用一个单独的表,其中包含每个单元的测试标准制造步骤。
举一个简单的例子,假设我在测试的两个不同步骤中检查设备的温度读回。步骤1的温度应在20℃-30℃的范围内,而步骤2的温度应在50℃-60℃的范围内。
我们假设以下表结构具有一组示例数据(表名称“test_data”):
temperature step serial_number
25 1 1
55 2 1
19 1 2
20 2 2
让我们假设下表包含上述通过条件(表名称“criteria”):
temperature_upper temperature_lower step
20 30 1
50 60 2
目前,使用静态方法,我可以使用以下查询:
SELECT * FROM test_data WHERE
( test_data.step = 1 AND test_data.temperature > 20 AND test_data.temperature < 30 ) OR
( test_data.step = 2 AND test_data.temperature > 50 AND test_data.temperature < 60 );
这将有效地产生下表:
temperature step serial_number
25 1 1
55 2 1
我想让我的选择查询更加动态,而不是开始静态定义,而是根据 test_criteria 表中的结果列表构建自身。希望将其发展为复杂的查询,例如,可以在步骤 1 中检查温度、电压和电流,但在步骤 2 中仅检查电流。
感谢您的任何见解!