【发布时间】:2015-07-13 01:32:44
【问题描述】:
数据库:
Table_Sensor:
sensor_id,
sensor_name
Table_Sensor_Detection:
sensor_id
azimuth (azimuth from specific sensor)
用户可以输入多个Sensor,所以我定义了Set < Integer> sensorsSet。
用户也可以输入azimuth for each sensor,所以我为每个传感器输入Sensor.azimuth。
我需要的只是 SQL 语句的逻辑,它将为输入的 sensors_ids 提供所有 sensor_detections,并为每个传感器提供足够方位角的另一个查询。
这是List< String> queryList,描述了我想要完成的逻辑。
for(Integer enteredSensorId:sensorsSet)
{
querysList.add(
"SELECT s FROM Table_Sensor_Detection s " +
"WHERE s.sensor_id="+enteredSensorId +
"AND s.azimuth"=getAzimuthForSenzor(enteredSensorId)
);
}
上面的代码是简化的,所以不要为可能的错误而烦恼。我只想找出解决此问题的最佳方法:
a) 创建多个 SQL 查询,分别运行它们并合并结果(类似于上面的代码),
b) 创建一个 SQL 查询(如果可能,最好的解决方案),
c) 别的东西(什么?)?
【问题讨论】:
-
你真的在你的表名前加上
table吗?您是否也在所有 Java 类的前面加上Class?
标签: java sql postgresql jpql