[Gvsig_desarrolladores] Sentencia Select
Jaime Traver
revartj en gmail.com
Vie Mayo 18 21:43:36 CEST 2007
Hola a todos:
Tengo una duda acerca de la sentencia select, necesito saber si se puede
realizar un CROSS JOIN de dos tablas, *A y *B. No se, si no está soportado
o tengo mal creada la sentencia select, porque tengo un error de parseador
SQL.
FLayer layerTolocate = mapControl.getMapContext
().getLayers().getLayer(0);
AlphanumericData capa = (AlphanumericData)layerTolocate;
ProjectTable projectTable =
getProjectTable((String)tableComboBox.getSelectedItem());
SelectableDataSource sds_v,sds_t=null;
//Obtenemos los índices de las filas
DataSource ds;
try {
sds_v = capa.getRecordset();
sds_t = projectTable.getModelo().getRecordset();
String name_vista = sds_v.getName();
String name_tabla = sds_t.getName();
ds = LayerFactory.getDataSourceFactory().executeSQL("select *
from " + name_vista +" cross join "+name_tabla+" where "+name_vista+".TIPO =
"+name_tabla+".TVIAB and "+name_vista+".TEXT_1 = "+name_tabla+".NVIAB and
"+name_vista+".TEXT = "+name_tabla+".NCALBN; " ,
DataSourceFactory.MANUAL_OPENING);
long[] selectedIndex = ds.getWhereFilter();
for (int i=0 ; i<selectedIndex.length ; i++){
System.out.print("\n FILA " + selectedIndex[i] + " ");
for (int j=0 ; j<sds_v.getFieldCount() ; j++){
System.out.print(sds_v.getFieldName(j));
System.out.print(": ");
System.out.print(sds_v.getFieldValue(selectedIndex[i],
j));
System.out.print(" ");
}
}
He intentado tomar estas dos tablas (*A y *B) y recorrer por cada registro
de *A todos los de *B, como intuia, es un proceso muy lento, querria saber
en caso de que el croos join no estuviera soportado que otras opciones me
quedarian.
Un saludo a todos. Gracias
*A = Tabla que forma parte del Tipo de documento Vista
*B = Talba que forma parte de Tipo de documento Tabla
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://runas.cap.gva.es/pipermail/gvsig_desarrolladores/attachments/20070518/6b2b2fef/attachment.htm
Más información sobre la lista de distribución gvSIG_desarrolladores