Spanish version:
Creo que puedes hacerlo así:
-
En cada compra, supongo que ya escribes el email o el rowID del comprador en la tabla de Compras.
-
Para el referido, puedes permitir que el usuario introduzca el email de la persona que le ha referido a la app, o utilizar un código único, lo que prefieras.
-
De vuelta a la tabla Compras, crea una relación desde la columna email/rowID de vuelta a la tabla Usuarios.
-
Busque el correo electrónico/código de la persona que lo refirió usando la relación anterior. Ahora tienes la información del comprador y la del referente (si lo hay) en la misma tabla.
-
Cree una columna if then else. Si el email/ID del remitente está vacío entonces 0, si no 1.
-
Asumiendo que tienes una columna con un número fijo para los puntos que quieres dar por la compra, puedes tener una columna matemática, llamémosla “Puntos finales”: Total de puntos por compra/(1 + columna “si-entonces”). Por lo tanto, si hay un referente, se dividirá por 2. Si no, el comprador se lleva el punto completo.
-
Por último, en la tabla de usuarios, crear 2 relaciones:
-
1 desde el correo electrónico/ID a la columna de correo electrónico/ID del comprador de la tabla de compras, haz que coincida de forma múltiple, y luego haz un rollup para sumar los “puntos de compra”.
-
1 desde el correo electrónico/ID de referencia a la columna de correo electrónico/ID de referencia de la tabla de compras, que sea una coincidencia múltiple, y luego haga un rollup para sumar los “puntos de referencia”.
- Cree una columna matemática para sumar los dos resultados anteriores, y tendrá los puntos finales.