Seleccione filas en una tabla con valores idénticos en otra tablaTengo dos tablas: tableA y tableB.
Las filas en una columna (digamos col-1) en la tabla B tienen valores que también aparecen en la tabla A en una columna (digamos col-15). Longitud o col-15 >> col-1.
¿Puedo seleccionar de forma interactiva las filas en la columna 15 (de la tabla A) con entradas que también aparecen en la columna 1 (de la tabla
?
Si la selección interactiva no es posible, ¿cómo programar dicho proceso de selección?
Gracias.
Tabla de datossecuencias de comandosRe: Seleccionar filas en una tabla con valores identicos en otra tablaEsto es lo que hago para a) obtener todos los valores nominales en una columna dada de una tabla yb) usar estos valores para hacer una selección en una tabla diferente.
yourSelection = Associative array( tableB:"col-1" ) << Get Keys; // gets an array of the values in col-1 in tableB
tableA << Select Where( Contains( yourSelection, :"col-15" )); // should select all rows with identical values in col-15 in tableA
Re: Seleccionar filas en una tabla con valores identicos en otra tablaCreo que tendrá que unirse a las tablas o usar el generador de consultas si desea hacer esto de forma interactiva. Las secuencias de comandos tendrán muchas opciones diferentes según cómo se seleccionen las filas y qué se seleccione.
Re: Seleccionar filas en una tabla con valores identicos en otra tablaSi los valores son únicos, podría intentar vincular tablas virtualmente, pero el resultado es diferente.
En general (JSL), creo que aplicaría un controlador de estado de fila, vea la captura de pantalla y el ejemplo. Consulte también el índice de secuencias de comandos para ver ejemplos...
Puede eliminar la parte de depuración "imprimir, mostrar", es solo para una mejor comprensión.

Names Default To Here( 1 );
dtA = New Table( "tableA", add rows( 10 ), New Column( "col_15", "Numeric", "Ordinal", set each value( Random Integer( 10 ) ) ) );
dtB = New Table( "tableB", add rows( 10 ), New Column( "col_1", "Numeric", "Ordinal", set each value( Random Integer( 10 ) ) ) );
f = Function( {a},
Show( dtA << get selected rows );
val_lst = dtA:col_15[dtA << get selected rows];
dtB << clear select();
For Each( {value}, val_lst, print(value); dtB << select where( :col_1 == value, current selection( "extend" ) ) );
);
rs = dtA << make row state handler( f );