[Gvsig_desarrolladores] group by en GDBMS

dani.gonzalez dani.gonzalez en geodata.es
Jue Abr 7 15:29:04 CEST 2011


Buenas tardes,
estoy desarrollando una extensión para gvsig 1.10 y necesito obtener el
número de elementos de una capa agrupando por dos campos. Esto lo hace
extTableSummarize, pero sólo permite agrupar por un campo.

Así que he intentado hacerlo utilizando GDBMS para ejecutar una query SQL.
Lo que hago es crear la variable "dataSource" de tipo SelectableDataSource
con layer.getRecordSet() y ejecutar la siguiente query:

sds.start();	

String sql = "select count(" + field_2_Name + ") from '" + sds.getName() +
"' group by " + field_1_Name + ", " + field_2_Name + ";";

DataSource ds = sds.getDataSourceFactory().executeSQL(sql,
DataSourceFactory.MANUAL_OPENING);	

pero esto me devuelve un array de tipo Value[] con sólo un elemento: 19304,
que es el número de elementos del dbf de mi capa. Es decir, como si la query
se ejecutara sin la parte del "group by...".

Mi duda es, GDBMS soporta group by? Imagino que sí, ya que el parser no da
error, la query se ejecuta.
Si no es posible hacer esto, se os ocurre alguna alternativa para poder
contar elementos agrupando por dos campos?

Muchas gracias!!

Dani González Moratona
dani.gonzalez en geodata.es
________________________
Geodata Sistemas, S.L.
C/Bac de Roda 136 1r 1a

Telf: 93.303.53.67
http://www.geodata.es







--
View this message in context: http://osgeo-org.1803224.n2.nabble.com/group-by-en-GDBMS-tp6250025p6250025.html
Sent from the gvSIG desarrolladores mailing list archive at Nabble.com.


Más información sobre la lista de distribución gvSIG_desarrolladores