Hola,
Tengo dos mesas. Al que llamo la tabla grande tiene números de parte, precios, códigos de índice BLS y nombres de índice BLS. Esta tabla tiene un par de millones de filas que duplican el número de pieza pero diferentes precios e índices BLS.
Mi pequeña mesa tiene unos cientos de filas de números de pieza únicos. Columnas para el índice BLS y el nombre, no rellenadas.
Me gustaría llenar el índice BLS y el nombre en una tabla pequeña con el índice BLS y el nombre del mismo número de pieza en la tabla grande de la fila con el precio más alto.
Mi plan era:
1-seleccione el primer número de parte de la tabla pequeña
2-seleccione todas las filas en la tabla grande con el número de parte correspondiente.
3-Haz una nueva tabla con las cuatro columnas
4-ordenar nueva mesa en el precio
5-seleccione el código y el nombre del índice BLS de los precios más altos de la tabla ordenada y péguelo en la tabla más pequeña correspondiente al número de pieza.
Esto es lo que tengo, pero estoy atascado en tratar de hacer la nueva tabla porque no sé cómo copiar más columnas. Cualquier ayuda sería muy apreciada.
dt2 = tabla de datos ("v5.8_bigTable");
dt1 = tabla de datos ("smallTable");
para (i = 1, i <= 2, i ++,
si (i == 1,
dt2 << Seleccione Where (dt2: partNumber == dt1: partNumber [i]);
selRows = N fila (dt2 << Obtener filas seleccionadas);
dtsub = dt2 << subconjunto (nombre de la tabla de salida ("partNumber" || char (i)));
dtsub << Ordenar (Por (: Precio total), Orden (descendente)):
)
);
Creo que hay una manera más fácil
- Tome su tabla de datos pequeña, con solo el número de Parte, y una esa tabla a la tabla de datos grande. Creará una nueva tabla con solo los números de pieza encontrados en la pequeña tabla de datos.
- Cree una tabla de datos de resumen, agrupando por número de pieza, código BLS y nombre, y especifique la estadística Máximo para el precio.
- Lo que sale del Resumen debe ser la pequeña tabla de datos que desea.