Mercurial > dive4elements > river
view etl/src/main/resources/sql/aft-common.properties @ 5890:6ea004d51203
Datacage: Introduced <dc:group epxr="xpath" type="type"> ... </dc:group> and XPath function dc:group-key().
This splits the current result set into groups formed by expr. The type defaults to string.
Afterwards all these groups are iterated by there natural order.
The dc:group-key() gives access to the result of the grouping expression that forms a group.
Say, you have a result set like this:
name | description
-----+------------
a | foo
a | bar
b | baz
b | bla
c | blub
you can use:
<dc:group expr="$name">
<group name="{dc:group-key()}">
<dc:for-each>
<description value="{$description}"/>
</dc:for-each>
</group>
</dc:group>
to create:
<group name="a">
<description name="foo"/>
<description name="bar"/>
</group>
<group name="b">
<description name="baz"/>
<description name="bla"/>
</group>
<group name="c">
<description name="blub"/>
</group>
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Thu, 02 May 2013 20:52:18 +0200 |
parents | 5aa05a7a34b7 |
children |
line wrap: on
line source
select.gewaesser = \ SELECT GEWAESSER_NR, NAME FROM SL_GEWAESSER select.messstelle = \ SELECT NAME, MESSSTELLE_NR, STATIONIERUNG \ FROM MESSSTELLE \ WHERE GEWAESSER_NR = :GEWAESSER_NR select.abflusstafel = \ SELECT ABFLUSSTAFEL_NR, \ ABFLUSSTAFEL_BEZ, \ strftime('%s', GUELTIG_VON) * 1000 AS GUELTIG_VON, \ strftime('%s', GUELTIG_BIS) * 1000 AS GUELTIG_BIS, \ PEGELNULLPUNKT, \ BFG_ID \ FROM ABFLUSSTAFEL \ WHERE MESSSTELLE_NR LIKE :number select.tafelwert = \ SELECT TAFELWERT_NR AS id, WASSERSTAND AS w, ABFLUSS AS q FROM TAFELWERT \ WHERE ABFLUSSTAFEL_NR = :number select.bfg.id.current = \ SELECT ABT.BFG_ID AS BFG_ID FROM ABFLUSSTAFEL ABT \ WHERE GUELTIG_VON IN ( \ SELECT min(GUELTIG_VON) FROM ABFLUSSTAFEL \ WHERE GUELTIG_VON IS NOT NULL AND GUELTIG_BIS IS NULL \ AND MESSSTELLE_NR LIKE :number) \ AND MESSSTELLE_NR LIKE :number