
16/12/2007, 17:47
|
 | | | Fecha de Ingreso: diciembre-2007 Ubicación: Madrid
Mensajes: 223
Antigüedad: 17 años, 2 meses Puntos: 2 | |
Re: Consulta SQL Imposible?? Son solo 3 campos pero ya no se que hacer Hola Gsutavo :D
Pues entiendo tu problema... verás.. no hay una forma sencilla de conseguir lo que quieres pues al hacer un Join entre las tablas esto te multiplica los valores en cualquiera de ellas según la cantidad de registros de la otra.
Pero yo no diría que es una limitación de SQL sino un diseño un poco defectuoso de tu estructura.
Te recomedaría que crearas una tabla para almacenar los nombres y que en ella coloques como un campo el número de puntos.
Incluso si necesitaras tener un registro por cada vez que asignaras puntos a una persona, lo mejor sería que tuvieras esta tabla de nombres y aparte la de la asignación de puntos. En este caso tu estructura quedaría:
Tabla 1: Personas
nombre
Tabla 2: Puntos
nombre
puntos
fecha (quizás)
Tabla 3: Compras
nombre
cantidad
Bajo este esquema, la tabla 1 sólo tendría valores únicos de nombres y la SQL que necesitas es trivial... más aún te recomendaría que le asignaras un ID a cada persona y que lo utilices como clave foránea en las otras dos tablas..
En fin, que sigas un poco mejor un esquema de normalización de BD. |