Por lo pronto, te aconsejo no usar JOIN implícito (la coma), sino explicitos, ya que eso es más optimizado, y permite ver mejor las relaciones.
Código MySQL:
Ver original c.id Codigo_Cliente,
c.fullName Nombre_Cliente,
c.dni DNI,
bc.bonusCardNumber numero_tarjeta,
rm.description Destino,
e.fullname Nombre_Usuario,
bct.dateCreated fecha_venta
bonusCardTransaction bct
;
Fuera d eso, lo que hay que ver es por qué se genera una duplicacion de registros, es decir, hay dos registros devueltos que son exactamente iguales en los datos que estás invocando.
Eso implica que al menos una de las tablas tiene una relación 1:N con otra, y te está faltando una condicion para la consulta.
Verifica cual es la conducion faltante.
Ahora bien,m si quieres a fuerza bruta, simplemente haz:
Código MySQL:
Ver original c.id Codigo_Cliente,
c.fullName Nombre_Cliente,
c.dni DNI,
bc.bonusCardNumber numero_tarjeta,
rm.description Destino,
e.fullname Nombre_Usuario,
bct.dateCreated fecha_venta
bonusCardTransaction bct
;
y no se repetiran ninguno de los registros
mostrados, lo que implica que en la base no puedan existir inconsistencias.