Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Depending on exactly what output you can do something like this to get the total in January of 2009</p> <pre><code>SELECT SUM( x.data ) FROM xmltest, XMLTABLE ('$d/cdata/r' passing xmldoc as "d" COLUMNS year integer path 'year', month varchar(3) path 'month', day varchar(2) path 'day', data float path 'data' ) AS X WHERE x.year = 2009 AND x.month = 'Jan' </code></pre> <p>and this to get the total in all of 2009</p> <pre><code>SELECT SUM( x.data ) FROM xmltest, XMLTABLE ('$d/cdata/r' passing xmldoc as "d" COLUMNS year integer path 'year', month varchar(3) path 'month', day varchar(2) path 'day', data float path 'data' ) AS X WHERE x.year = 2009 </code></pre> <p>Using your sample data and assuming that the table is defined as</p> <pre><code>CREATE TABLE xmltest ( xmldoc XMLTYPE ); </code></pre> <p>that produces output like this</p> <pre><code>SQL&gt; ed Wrote file afiedt.buf 1 SELECT SUM( x.data ) 2 FROM xmltest, 3 XMLTABLE ('$d/cdata/r' passing xmldoc as "d" 4 COLUMNS 5 year integer path 'year', 6 month varchar(3) path 'month', 7 day varchar(2) path 'day', 8 data float path 'data' 9 ) AS X 10* WHERE x.year = 2009 SQL&gt; / SUM(X.DATA) ----------- 10680 </code></pre> <p>and</p> <pre><code>SQL&gt; SELECT SUM( x.data ) 2 FROM xmltest, 3 XMLTABLE ('$d/cdata/r' passing xmldoc as "d" 4 COLUMNS 5 year integer path 'year', 6 month varchar(3) path 'month', 7 day varchar(2) path 'day', 8 data float path 'data' 9 ) AS X 10 WHERE x.year = 2009 11 AND x.month = 'Jan'; SUM(X.DATA) ----------- 3840 </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload