[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