En()En SQL hay un comando para en (..) donde encontrará cada fila en una tabla en la que la columna especificada tiene un valor EN la declaración en (...). Esto es bueno para encontrar rápidamente artículos en una lista. Sería bueno si pudiéramos hacer esto en JSL.
EX:
dt << Select Where( in(col, list) );
Opuesto a:
dt << Select Where( :col == list[1] | :col == list[2] | ... )
La desventaja para el segundo método es evidente que requeriría conocer la longitud de la lista.
Se me ocurren varias alternativas de trabajo para los bucles, pero la mayoría de estos se encontrarán con problemas de rendimiento en grandes conjuntos de datos.
Solo agrega esto a mi lista de deseos
Re: En ()<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />¡Gracias! Después de unos minutos finalmente entiendo. En lugar de buscar en la columna los valores de la lista, buscamos en la lista el valor encontrado en cada celda.
Re: En ()Esta versión más simple de la misma idea funciona también ( Seleccione Donde aparentemente trata [1] como Verdadero y [] como Falso):
dt << select where(Loc(list, :col));
Re: En ()Contiene () puede hacer lo que quieras.
dt = Open("$SAMPLE_DATA/Big Class.jmp");
list = {"JANE", "ALICE", "MICHAEL", "ELIZABETH"};
col = Column(dt, "name");
dt << select where(Contains(list, col[]));
Re: En ()
dt<<SELECT where="">0);
</SELECT>
Esto debería hacer lo que quieras.