O retorno do seu select está trazendo registros duplicados devido aos joins?

Se for o caso coloca 'distinct' no seu select que ele filtra os registros repetidos.

Bom dia,

@diogomattioli

Não está sendo dupliado no select não. É a hora que pretendo fazer o insert na TABLE notifications que está sendo inserido duas vezes, sei que é nesse loop que está o erro, só não estou conseguindo resolver.

Está chegando os dois registro. infraestrutura

Porém no insert está inserindo duplicado. database

from src.database.connect import get_db_connection

from mysql.connector import  Error

import uuid

import datetime
def notifications():
    print("notifications")
    agora = datetime.datetime.now().strftime("%H:%M")
    try:
      connection =get_db_connection()
      cursor = connection.cursor()
      sql=f"SELECT  DISTINCT  contributions.id as contributions_id, tasks.id as tasks_id,tasks.name AS tasks_name, schedules.time AS schedules_time, contributions.name AS contributions_name	from tasks   inner join schedules_tasks on schedules_tasks.task_id = tasks.id inner join schedules on schedules.id = schedules_tasks.schedule_id   inner join contributors_tasks on  contributors_tasks.task_id = tasks.id   inner join contributions on contributions.id = contributors_tasks.contributor_id WHERE schedules.time = '14:20'"
      cursor.execute(sql)
      notification = cursor.fetchall()     
      print(notification)
      for r in notification:
        sql = f"INSERT INTO notifications (code_uuid,task_id,contributor_id) VALUES('{str(uuid.uuid4())}','{r[1]}','{r[0]}')"
        cursor.execute(sql)
        connection.commit()
    except Error as e:
      print("")
    finally:
      cursor.close()
      connection.close()