import pyodbc

def verify_tax_join():
    conn_str = "DRIVER={ODBC Driver 17 for SQL Server};SERVER=siesa-prod-dbin-sql-corral01.cw4fp6bllyds.us-east-1.rds.amazonaws.com;DATABASE=UNOEE_REAL1;UID=consultascorral;PWD=Corral$12$%;"
    
    try:
        conn = pyodbc.connect(conn_str, timeout=15)
        cursor = conn.cursor()
        print("Connected.")
    except Exception as e:
        print(f"Failed: {e}")
        return

    try:
        query = """
            SELECT 
                item.f120_id AS ItemID,
                item.f120_descripcion AS ItemDesc,
                item.f120_id_grupo_impositivo AS ImpoGroup,
                t114.f114_id_llave_impuesto AS TaxKey,
                t037.f037_tasa AS TaxRate,
                t037.f037_porcentaje_base AS BasePct
            FROM dbo.t120_mc_items item
            LEFT JOIN dbo.t114_mc_grupos_impo_impuestos t114 
                ON item.f120_id_grupo_impositivo = t114.f114_grupo_impositivo
            LEFT JOIN dbo.t037_mm_llaves_impuesto t037 
                ON t114.f114_id_llave_impuesto = t037.f037_id
            WHERE item.f120_id = 1923
        """
        cursor.execute(query)
        rows = cursor.fetchall()
        print("\nJoined Tax results for 1923:")
        for r in rows:
            print(f"Item: {r[0]} ({r[1].strip()}) | Group: {r[2]} | Key: {r[3]} | Rate: {r[4]} | Base: {r[5]}")
            
    except Exception as e:
        print(f"Error: {e}")
        
    conn.close()

if __name__ == "__main__":
    verify_tax_join()
