MySQL Forums
Forum List  »  Spanish

Necesito contadores que dependan de varios campos MySQL
Posted by: Ricardo Prati
Date: May 04, 2016 09:15AM

Buenos días amigos,

generalmente resuelvo mis dudas buscando las respuestas en este Foro; sin embargo tengo un problema que llevo varios días analizándolo y tuve que recurrir a realizar mi primera publicación en este Foro para, a través de vuestra ayuda, encontrar la como resolverlo.

estoy diseñando un website de un Maratón, en la DB tengo las siguientes tablas: (voy a omitir detalles por ahora)

competidores -> datos de cada competidor
carreras -> hay varias modalidades (10k, 25k, 46k) y llevo los datos aquí
categorías - > también diferentes categorías (juvenil masculino, submaster femenino, etc)
clubes -> los competidores pueden o no estar en clubes (independientes, Happy Runners, etc)
chequeos -> esta table se llena con un trigger AFTER UPDATE del campo "chequeado" de la tabla competidores, insertando el número del competidor y el id de Chequeo que es un autoincrement, la necesidad de esta tabla es para llevar un control antes de comenzar la(s) carrera(s) y saber cuantos competidores están corriendo (desde una página en PHP chequeos.php que pide el número del competidor)
tiempos -> también se llena con un trigger AFTER UPDATE del campo "cruzoMeta" de la tabla competidores, insertando el numero del competidor, una resta entre el tiempo de llegada y el tiempo de salida (tiempoLlegada) y el id de tiempo que también es un autoincrement, la necesidad de esta tabla es evidentemente registrar los tiempos y saber que competidores cruzaron la meta (desde otra página PHP tiempos.php que pide el numero del competidor).

Ok explicada mi DB voy con mi problema:
Necesito registrar las posiciones una vez vayan cruzando la meta (asumo obviamente que tendré que crear una tabla posiciones), pero estas posiciones dependen de 2 cosas: de la carrera "posición general" (un contador) y de la categoría "posición por categoría" (un contador distinto al de la posición general).

como puedo diseñar de la manera más eficiente el registro de esas posiciones?

necesito llevar el registro de algo así:

pos_general| por_x_categoria| nombre | numero | carrera | categoria | tiempo
_____1______|________1________|__pepe__|___100___|___10k___|__juvenilM__| 3:00
_____2______|________1________|__luis__|___101___|___10k___|__submasterM| 3:05
_____3______|________2________|__rick__|___110___|___10k___|__submasterM| 3:07
_____1______|________1________|__anto__|___108___|___25k___|__masterM___| 5:00
_____2______|________2________|_carlos_|___109___|___25k___|__masterM___| 5:10
_____3______|________1________|_maria__|___111___|___25k___|__submasterF| 5:15
_____1______|________1________|__hum___|___200___|___46k___|__libreM____| 8:00
_____2______|________1________|_carla__|___202___|___46k___|__libreF____| 8:20
_____3______|________1________|__jose__|___205___|___46k___|__sumbasterM| 8:35

creo que representé todos los posibles casos, fíjense que la posición general no depende de la categoría (mezclados incluso los géneros), lo que importa es la carrera. Y en la posición por categoría lo importante, además de la carrera obviamente, es la categoría, entonces se pueden dar casos en donde un competidor llegue de 1ero en su categoría pero en la general llegó por ejemplo de 5to.

Me expliqué bien?

de verdad les agradezco de antemano el tiempo que se tomen al leer ésto y cualquier ayuda será amablemente agradecida.

.-

PD: que rollo representar los registros!

Options: ReplyQuote


Subject
Views
Written By
Posted
Necesito contadores que dependan de varios campos MySQL
1655
May 04, 2016 09:15AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.