Untitled

 avatar
unknown
plain_text
4 months ago
1.1 kB
2
Indexable
def join_stores(self, source, target, fields):
    """
    Realiza un join entre dos tablas usando atoti.

    Args:
        source (str): Nombre de la tabla fuente (source).
        target (str): Nombre de la tabla destino (target).
        fields (dict): Diccionario que mapea columnas de la tabla fuente a la tabla destino.
                       Ejemplo: {"col1": "col2", "col3": "col4"}.
    """
    source_table = self.get_table(source)  # Tabla fuente
    target_table = self.get_table(target)  # Tabla destino

    # Construir la condición para el mapeo basado en las columnas
    condition = None
    for source_col, target_col in fields.items():
        # Crear la condición de igualdad entre columnas
        current_condition = source_table[source_col] == target_table[target_col]
        # Combinar condiciones si ya existe una
        condition = current_condition if condition is None else condition & current_condition

    # Realizar el join usando la condición
    source_table.join(target_table, condition)
Editor is loading...
Leave a Comment