comparison backend/src/main/java/org/dive4elements/river/model/CrossSection.java @ 6536:c155f8f57b7e

Initial improved query to find matching cross section.
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Wed, 03 Jul 2013 16:09:51 +0200
parents 44ee7d26eb18
children de62db0f2035
comparison
equal deleted inserted replaced
6535:8a425ee702e3 6536:c155f8f57b7e
51 "ON csp.cross_section_line_id = csl.id " + 51 "ON csp.cross_section_line_id = csl.id " +
52 "WHERE csl.cross_section_id = :cs_id AND " + 52 "WHERE csl.cross_section_id = :cs_id AND " +
53 "km between :from_km AND :to_km " + 53 "km between :from_km AND :to_km " +
54 "ORDER BY csl.km, csl.id, csp.col_pos"; 54 "ORDER BY csl.km, csl.id, csp.col_pos";
55 55
56 public static final String SQL_MIN_MAX =
57 "SELECT * FROM ( "+
58 "SELECT cross_section_id, MIN(km) AS minkm, MAX(km) AS maxkm " +
59 "FROM cross_section_lines " +
60 "WHERE cross_section_id IN " +
61 " (SELECT id FROM cross_sections WHERE river_id = :river_id) " +
62 " GROUP BY cross_section_id" +
63 ") AS cs_ranges WHERE :km BETWEEN minkm AND maxkm ORDER BY :km - minkm ";
64 // Order by time interval missing.
65
56 private Integer id; 66 private Integer id;
57 private River river; 67 private River river;
58 private TimeInterval timeInterval; 68 private TimeInterval timeInterval;
59 private String description; 69 private String description;
60 private List<CrossSectionLine> lines; 70 private List<CrossSectionLine> lines;

http://dive4elements.wald.intevation.org