Página 1 de 2 12 ÚltimoÚltimo
Resultados 1 al 10 de 13

Tema: Cómo realizar consultas SQL en la BD de Poker Tracker. Parte II.

  1. #1

    Predeterminado Cómo realizar consultas SQL en la BD de Poker Tracker. Parte II.

    Por si tenéis un minuto y curiosidad, ahí va:

    Para comprender mejor cómo funciona Poker Tracker y las instrucciones a escribir en la consultas SQL, en el siguiente apartado detallaré la organización de la base de datos de PT.

    Estructura de la base de datos de Poker Tracker


    Para los menos iniciados en la informática, es preciso recordar que una base de datos no es más que una manera de almacenar información. Cada tipo de base de datos tiene una forma propia de guardar esos datos y acceder a ellos. Se hace así con el objetivo de recuperar lo almacenado con mayor rapidez, mantener una gran cantidad de datos eficientemente y para facilitar la inserción de nuevos elementos; todo esto es posible porque hay implementados una serie de interfaces (protocolos, medios de comunicación entre programas) que permiten realizar estas operaciones de manera mucho más eficaz que si se guardaran los datos, por ejemplo, en un simple archivo de texto.

    Hay muchos tipos de bases de datos. Seguro que te suenan palabras como Access, Oracle, SQLServer, MySQL, PostgreSQL... Todas identifican bases de datos muy diferentes entre sí, cuya construcción interna no se parece en absoluto, aunque tienen cosas en común. Básicamente, todas ellas almacenan la información en tablas, cada una de las cuales tiene una serie de campos que definen atributos de lo representado por la tabla. La forma de acceder a estos datos es distinta en cada caso ya que suelen poseer su propio lenguaje, pero las consultas SQL que voy a crear se pueden utilizar en todas ellas con pocas modificaciones (SQL es el lenguaje base usado por la mayoría de bases de datos de la actualidad).

    Access no es diferente y también guarda los datos en tablas. Una tabla se identifica por un nombre que debería ser descriptivo de la información que contiene. En cada tabla los datos se agrupan en campos que contienen los detalles de lo que se quiere almacenar. Por ejemplo, si se es un poco maníaco-obsesivo-exitoso y se desea tener una base de datos de ligues, habría una tabla de nombre "Pibitas" (si es muy obsesivo probablemente el nombre sería "Chochos") que contendría seguramente los campos "Nombre", "Teléfono", "Altura", "Edad", "Peso", "Cara" (nota asignada de 1 a 10), "Tetas" (nota asignada de 1 a 10), "Culo" (nota asignada de 1 a 10), "Sexo" (vamos, que si folla) , "Casada" y "FechaPrimeraCita". Los campos son las columnas de la tabla y, cada nueva conquista, sería una nueva fila en la tabla que tendría unos valores en los campos que la definirían. Advertir que la elección de los campos ha sido totalmente arbitraria; se podrían haber definido otros atributos o características (y no, no tengo una tabla como ésta hecha).

    Los campos pueden ser de distinto tipo dependiendo de la información que vayan a guardar. Los tipos básicos disponibles son: numéricos (con decimales o sin decimales), alfanuméricos (letras y números, es decir, texto), moneda, fechas y booleano (datos que son verdadero o falso, por ejemplo "Sexo" y "Casada"). Como se puede comprobar, hasta aquí no es nada complicado. Ahora que conoces las bases, voy a desmenuzar las tablas de PT y el porqué de cada una.

    En una base de datos suele haber más de una tabla para lograr definir los objetos que participan en el problema a solucionar; además, los datos que contienen están interrelacionados entre ellas. Las consultas se pueden hacer sobre varias tablas a la vez ya que si no, se limitaría mucho la búsqueda. La creación de bases de datos en sistemas complejos es una tarea ardua y complicada puesto que hay que tener en cuenta muchas variables y factores. Pero tranquilo, eso es otra historia y, como me dijo un profesor de la universidad la primera vez que hablaba con él: "eso a ti te la suda".
    Ahora "solo" vas a aprender la estructura de la base de datos de PT, así que presta atención. Si se abre la base de datos de PT tal y como comenté ayer, y se selecciona "Tablas" en los "Objetos", aparece una imagen como la siguiente con todas las tablas de PT:



    La mayor parte de las tablas son bastante autoexplicativas, y sus campos logran definir cada aspecto que el programador de PT ha querido reflejar. Hay algunas tablas que son de definición: de niveles, salas, ciegas, etc.; otras que detallan cada mano del juego con todos los datos posibles; otras que son resumen de valores para que la recuperación y visualización en PT sea más rápida (como por ejemplo la tabla de las sesiones jugadas); y, por último, otras que sirven para la configuración del programa.
    Para ver los campos de cada tabla, basta con seleccionar la tabla de la que se quiere ver su estructura y pulsar el icono de "Diseño" o hacer click con el botón derecho del ratón sobre la tabla elegida y pulsar sobre "Vista Diseño":



    Si se hace lo dicho, aparece una ventana que lista los campos que contiene la tabla y el tipo de cada uno de los campos. También puede contener observaciones acerca del contenido de cada uno de los campos que se utilizan para hacer aclaraciones sobre el mismo (solo tiene valor informativo). Un apunte, en la creación de la mayor parte de las tablas se define un campo identificador que distingue unívocamente a una fila de la tabla del resto de filas; la mayoría de las tablas de PT tienen un campo de este tipo, que suele ser un entero positivo (se declara en la base de datos para que cada vez que se añade una fila se incremente automáticamente, aunque éste es un detalle que no nos importa demasiado). Estos identificadores son muy útiles para enlazar valores entre tablas (esto se verá más claro en el siguiente capítulo en el que haré las consultas):



    Voy a agrupar las tablas de PT según la función para la que han sido creadas. Ésta es una clasificación que he establecido para que se vea más claramente la utilidad de cada una de ellas, pero no significa que sean de distinto tipo sino simplemente que las he ordenado para no mostrar todas seguidas; solo hay un tipo único de tablas aunque se usen para almacenar diferentes tipos de datos. Los datos de cash y torneos se guardan en tablas separadas.

    La mejor manera para seguir la explicación de las tablas es abrir en Access la base de datos e ir abriéndolas conforme se detallan (basta con hacer doble click sobre la tabla que se quiera visualizar).

    Tablas de definición de datos:
    Son todas aquellas que definen entidades que se utilizarán en otras tablas.

    Tabla blind_structure.
    Define los distintos niveles en un torneo. Contiene los campos siguientes:
    * blind_structure_id: identificador del nivel de ciegas.
    * blind_structure_desc: estructura de ciega pequeña y ciega grande.
    * big_bet: tamaño de la ciega grande en relación a la unidad (una ficha es la unidad más pequeña).



    Puede que te preguntes por qué los valores están desordenados. Esto es debido a que en cuanto PT lee un nivel nuevo de ciegas, añade una línea a esta tabla y le asigna un identificador que comienza en 1 y se va incrementando automáticamente como expliqué anteriormente. Seguramente inicié el PT con un torneo comenzado o la importación automática de torneos la hizo de manera desordenada; esto no tiene ninguna importancia ya que se sabe qué nivel es por el identificador; por ejemplo, el identificador 6 corresponde al nivel de ciegas 150/300, y no importa el orden en el que esté insertada la fila en la tabla.

    Tabla game_level.
    Define las ciegas en las mesas de cash. Contiene los campos siguientes:
    * game_level_id: identificador de la cantidad de las ciegas.
    * game_level_desc: descripción de la ciega pequeña y la ciega grande.
    * game_level_big_bet: tamaño de la ciega grande en relación a la unidad (la unidad más pequeña es una unidad de moneda ($, € o GBP).
    * pl_nl: 0 si es limit, 1 si se trata de NL o PL.



    Tabla hand_rank.
    Define las posibles manos en el showdown en Holdem. Contiene los campos siguientes:
    * hand_rank_id: identificador de la jugada.
    * hand_rank_desc: descripción en texto de la calidad de la jugada.



    Como se puede apreciar, esta tabla sí está ordenada de peor a mejor jugada, esto es debido a que es una tabla con los datos completos antes de capturar ningún dato el programa, o rellenada automáticamente al crear una nueva base de datos (en Holdem el ranking de jugadas es fijo e inmutable).

    : Tabla players.
    Define a los jugadores en cada sala de póquer. Cada fila identifica a un jugador en una sala. Se utilizará en todas las tablas que contengan datos de juego. Contiene los campos siguientes:
    * player_id: identificador del jugador en la base de datos de PT.
    * screen_name: nombre en la sala que se ve en pantalla del jugador.
    * location: lugar de origen que el jugador se ha puesto en la sala.
    * general_description: notas sobre el jugador.
    * treeview_icon: identificador del icono del jugador que aparece en el árbol de jugadores del PT (se refiere a los dibujicos que representan cada tipo de jugador).
    * site_id: utilizado en los jugadores con alias para indicar el identificador de la sala al que correponde el alias asignado.
    * alias_id: identificador del jugador al que corresponde éste alias.
    * main_site_id: sala para la que está definido el jugador.
    * hide_ind: si no se muestra al jugador de cash en las ventanas del PT.
    * ring_player: si es jugador de cash en la sala (significa si se tiene alguna mano de él jugando cash).
    * tourney_player: si es jugador de torneos.
    * tourney_hide_ind: si no se muestra al jugador de torneos en las ventanas del PT.
    * last_icon: último icono del jugador.
    * last_auto_rated: fecha en la que se hizo la última clasificación de jugadores automática.
    * last_batch_rated: fecha en la que se hizo la última clasificación de jugadores.
    * icon_before_batch_rate: icono anterior a la última clasificación de jugadores.
    * no_auto_rate: si a éste jugador no hay que clasificarlo.
    * icon_file: fichero donde se almacena el icono del jugador (para personalizaciones).



    Destacar que, como seguramente conoces, para agrupar las estadísticas de un jugador que tiene datos de diferentes salas hay que utilizar los alias de PT. Ahora puedes ver cómo funcionan. Cada jugador tiene una fila por sala en la que juega. Si se usan los alias, a través de los campos "site_id" y "alias_id" el programa sabe que son el mismo jugador y combinará sus estadísticas.

    Tabla poker_sites.
    Define las salas de póquer para las que funciona PT. Contiene los campos siguientes:
    * site_id: identificador de la sala.
    * site_abbrev: nombre abreviado de la sala de póquer.
    * site_name: nombre completo de la sala de póquer.




    Tablas de datos:
    Almacenan los datos del juego en sí.

    Tabla game.
    Define los detalles generales de cada mano de cash. Cada fila identifica una mano jugada e importada en el PT. Contiene los campos siguientes:
    * game_id: identificador de la mano.
    * game_number: otro identificador de la mano (usado para salas como Prima).
    * site_id: sala donde se juega la mano.
    * date_played: fecha en la que se juega la mano.
    * game_level_id: nivel en la que se juega la mano.
    * flop_1: carta primera del flop.
    * flop_2: carta segunda del flop.
    * flop_3: carta tercera del flop.
    * turn: carta del turn.
    * river: carta del river.
    * pot: bote que se lleva el ganador de la mano (antes de descontar la comisión).
    * rake: comisión que se lleva la casa en la mano.
    * player_id: identificador del jugador que gana la mano.
    * import_date: fecha en la que se hizo la importación de la mano.
    * game_notes: notas de la mano.
    * table_name: nombre de la mesa en la que se jugó la mano.
    * winning_hand: calidad de la jugada de la mano ganadora.
    * real_player_id: identificador real del jugador (si se utilizan alias, éste será el identificador del jugador en la sala, no su alias).
    * players_saw_flop: jugadores que han visto el flop.
    * number_of_players: número total de jugadores de la mano.
    * ub_game_number: identificador de mano en UB.
    * ub_kill_game: si es una mesa kill de UB.



    Es un resumen de cada mano jugada. Los detalles por jugador están contenidos en la tabla "game_players".

    Tabla tourney_game.
    Define los detalles generales de cada mano de torneo. Cada fila es una mano de torneo jugada e importada por PT. Contiene los campos siguientes:
    * tourney_id: identificador de la mano.
    * game_number: otro identificador de la mano (usado para salas como Prima).
    * date_played: fecha en la que se juega la mano.
    * blind_structure_id: nivel de ciegas en la que se juega la mano.
    * game_level: nombre del nivel en el de ciegas en el que se juega la mano.
    * pp_game_number: identificador de la mano (creo que para PP).
    * flop_1: carta primera del flop.
    * flop_2: carta segunda del flop.
    * flop_3: carta tercera del flop.
    * turn: carta del turn.
    * river: carta del river.
    * pot: número de fichas que se lleva el ganador de la mano.
    * player_id: identificador del jugador que gana la mano.
    * import_date: fecha en la que se hizo la importación de la mano.
    * game_notes: notas de la mano.
    * table_name: nombre de la mesa en la que se jugó la mano.
    * winning_hand: calidad de la jugada de la mano ganadora.
    * real_player_id: identificador real del jugador (si se utilizan alias, éste será el identificador del jugador en la sala, no su alias).
    * players_saw_flop: jugadores que han visto el flop.
    * number_of_players: número total de jugadores de la mano.
    * heads_up: si se trata de un torneo Heads Up.
    * ub_game_number: identificador de mano en UB.



    Como se puede comprobar, esta tabla es similar a la anterior pero usada para torneos.

    Tabla game_players.
    Define los detalles de cada mano desde el punto de vista de cada jugador que participa en la misma. Contiene los campos siguientes:
    * game_id: identificador de la mano.
    * player_id: identificador del jugador.
    * seat_number: posición en la que está sentado el jugador.
    * button: posición que ocupa la posición de button.
    * hole_card_1: primera carta de las dos del jugador.
    * hole_card_2: segunda carta de las dos del jugador.
    * suited: s si es suited, o si no.
    * pre_flop_bet: cantidad apostada antes del flop.
    * flop_bet: cantidad apostada en el flop.
    * turn_bet: cantidad apostada en el turn.
    * river_bet: cantidad apostada en el river.
    * total_bet: cantidad apostada en el conjunto de la mano.
    * total_won: cantidad total ganada en la mano.
    * when_folded: cuando tiró las cartas en la mano.
    * player_notes: notas del jugador en la mano.
    * final_hand: calidad final de la mano del jugador.
    * hand_rank_id: identificador de la calidad de la jugada de la mano ganadora.
    * all_in: si el jugador ha ido all in en la mano.
    * hole_cards: cartas del jugador en formato texto.
    * card_order1: ranking de la primera carta de mano en relación a su fuerza individual (2->2, ..., As->14).
    * card_order2: ranking de la segunda carta de mano en relación a su fuerza individual (2->2, ..., As->14).
    * card_order3: 1 si son suited, 0 si no.
    * connector_hand: 1 si están conectadas, 0 si no.
    * pair_hand: 1 si es una pareja de mano, 0 si no.
    * won_hand: 1 si el jugador ganó la mano, 0 si no.
    * session_id: identificador de la sesión en la que se circunscribe la mano.
    * off_the_button: número de posiciones de diferencia con el button.
    * number_of_players: número de jugadores en la mano.
    * big_blind_n: 1 si es big blind, 0 si no.
    * small_blind_n: 1 si es small blind, 0 si no.
    * went_to_showdown_n: 1 si llegó con la mano hasta el final, 0 si no.
    * saw_flop_n: 1 si vió el flop, 0 si no.
    * attempted_steal: 1 si intentó un robo, 0 si no.
    * raised_first_pf: 1 si subió el primero antes del flop, 0 si no.
    * real_player_id: identificador real del jugador (no su alias).
    * chip_count: dinero con el que el jugador comenzó la mano.
    * ub_kill_blind: 1 si es la ciega kill en una mesa kill de UB, 0 si no.



    Hay muchos otros campos booleanos (valores cierto o falso, 0 ó 1) que definen cada una de las posibles acciones que el jugador ha podido realizar en cada una de las calles (call, check-raise, bet-raise, etc.) y que servirán para mostrar las estadísticas en las ventanas del PT.

    Tabla tourney_game_players.
    Define los detalles de cada mano de torneo desde el punto de vista de cada jugador que participa en la misma. Contiene los campos siguientes:
    * tourney_id: identificador del torneo.
    * game_id: identificador de la mano dentro del torneo.
    * player_id: identificador del jugador.
    * seat_number: posición en la que está sentado el jugador.
    * button: posición que ocupa la posición de button.
    * hole_card_1: primera carta de las dos del jugador.
    * hole_card_2: segunda carta de las dos del jugador.
    * suited: s si es suited, o si no.
    * pre_flop_bet: cantidad apostada antes del flop.
    * flop_bet: cantidad apostada en el flop.
    * turn_bet: cantidad apostada en el turn.
    * river_bet: cantidad apostada en el river.
    * total_bet: cantidad apostada en el conjunto de la mano.
    * total_won: cantidad total ganada en la mano.
    * when_folded: cuando tiró las cartas en la mano.
    * player_notes: notas del jugador en la mano.
    * final_hand: calidad final de la mano del jugador.
    * hand_rank_id: identificador de la calidad de la jugada de la mano ganadora.
    * all_in: si el jugador ha ido all in en la mano.
    * hole_cards: cartas del jugador en formato texto.
    * card_order1: ranking de la primera carta de mano en relación a su fuerza individual (2->2, ..., As->14).
    * card_order2: ranking de la segunda carta de mano en relación a su fuerza individual (2->2, ..., As->14).
    * card_order3: 1 si son suited, 0 si no.
    * connector_hand: 1 si están conectadas, 0 si no.
    * pair_hand: 1 si es una pareja de mano, 0 si no.
    * won_hand: 1 si el jugador ganó la mano, 0 si no.
    * session_id: identificador de la sesión en la que se circunscribe la mano.
    * off_the_button: número de posiciones de diferencia con el button.
    * number_of_players: número de jugadores en la mano.
    * big_blind_n: 1 si es big blind, 0 si no.
    * small_blind_n: 1 si es small blind, 0 si no.
    * went_to_showdown_n: 1 si llegó con la mano hasta el final, 0 si no.
    * saw_flop_n: 1 si vió el flop, 0 si no.
    * attempted_steal: 1 si intentó un robo, 0 si no.
    * raised_first_pf: 1 si subió el primero antes del flop, 0 si no.
    * real_player_id: identificador real del jugador (no su alias).
    * chip_count: stack con el que el jugador comenzó la mano.
    * blind_amt: cantidad de fichas pagadas en la mano en concepto de ciegas (0 si el jugador está fuera de las posiciones que pagan ciegas).
    * ante_amt: cantidad de fichas pagadas en concepto de ante.



    Hay muchos otros campos booleanos (valores cierto o falso, 0 ó 1) que definen cada una de las posibles acciones que el jugador ha podido realizar en cada una de las calles (call, check-raise, bet-raise, etc.) y que servirán para mostrar las estadísticas en las ventanas del PT. Esta tabla es similar a la anterior pero orientada a torneos (por eso algunas columnas diferentes como la de los antes).

    Tabla tourney.
    Define los datos generales de los torneos. Cada fila identifica un solo torneo importado en PT. Contiene los campos siguientes:
    * tourney_id: identificador del torneo en la base de datos de PT.
    * site_id: identificador de la sala en la que se juega el torneo.
    * tourney_number: número de identificación del torneo en la sala.
    * tourney_start: fecha y hora de inicio del torneo.
    * tourney_end: fecha y hora de fin del torneo.
    * buy_in: dinero que costó la entrada al torneo.
    * fee: dinero pagado como comisión a la sala de póquer.
    * tourney_type: tipo de torneo (si no concreto más es porque no tengo apenas torneos guardados en la base de datos y no tengo ni puta idea de cuales son los valores).
    * table_type: tipo de mesa (idem. a la anterior).
    * summary_text: resumen en formato texto del identificador del torneo.
    * target_tourney_number: si es un satélite, indica el identificador del torneo en la sala al que se opta si se consigue una plaza.
    * number_of_players: número de jugadores del torneo.
    * tourney_notes: notas del torneo.
    * summary_loaded: si se ha importado en el PT el resumen del torneo.




    Tablas de resumen de datos:
    Guardan los resultados de ganancias y otras estadísticas agrupados.

    Tabla session.
    Define los datos de una sesión de juego (desde que te sientas a una mesa hasta que te levantas). Contiene los campos siguientes:
    * session_id: identificador de la sesión en la base de datos de PT.
    * player_id: identificador del jugador.
    * session_start: fecha y hora de inicio de la sesión.
    * session_end: fecha y hora de fin de la sesión.
    * table_name: nombre de la mesa.
    * seat_number: posición dentro de la mesa.
    * session_notes: notas escritas de la sesión.
    * game_level_id: identificador del nivel en el que se juega.
    * amount_won: cantidad ganada total (o perdida, excepto para Caminante que solo tiene valores positivos en este campo).
    * total_hands: número total de manos jugadas.
    * site_id: identificador de la sala.
    * vol_saw_flop: este valor en el conjunto de la sesión.
    * pre_flop_raise: este valor en el conjunto de la sesión.
    * att_steal: este valor en el conjunto de la sesión.
    * chance_to_steal: oportunidades de robo en el conjunto de la sesión (ya sabes, triste es pedir...).
    * won_hand: número de manos ganadas en la sesión.
    * went_to_sd: este valor en el conjunto de la sesión.
    * won_at_sd: este valor en el conjunto de la sesión.
    * real_player_id: identificador del jugador (distinto del anterior si usa alias y no es la sala primera en la que PT definió al jugador).
    * tot_players: número total de jugadores en el conjunto de la sesión (suma los totales en cada mano, sin importar que sea el mismo jugador; es decir, si juegas una sesión maratoniana de 2 manos contra los mismos 9 tíos, este campo valdrá 20).
    * tot_saw_flop: número total de jugadores que han visto el flop en la sesión (mismo comentario que en el campo anterior).
    * tot_pot: cantidad total de dinero en todos los botes de la sesión (la suma de todos los botes generados sin importar quién los ganara).



    Tabla tourney_summary.
    Define datos de los torneos desde el punto de vista de un jugador. Un torneo tendrá en esta tabla tantas filas como jugadores hayan participado (siempre que se hayan importado los datos a PT). Contiene los campos siguientes:
    * tourney_id: identificador del torneo en la base de datos de PT.
    * place_of_finish: lugar en el que acabó el torneo el jugador.
    * player_id: identificador del jugador.
    * amt_won: cantidad ganada por el jugador.
    * real_player_id: identificador del jugador (por si se utilizan alias).
    * sat_seat_won: el equivalente a dinero que cuesta la entrada al satélite que ha ganado este jugador.
    * actual_buy_in: dinero pagado total como entrada por este jugador.
    * actual_fee: dinero pagado total como comisión a la sala de póquer.
    * total_rebuys: número total de recompras realizadas en el torneo.
    * rebuy_amt: cantidad que costaba cada recompra.
    * total_addons: número total de addons realizados en el torneo.
    * addon_amt: cantidad que costaba cada addon.
    Tabla player_winnings.
    Define los datos de ganancias entre los jugadores de cash. Cada fila identifica el dinero que le ha ganado un jugador a otro durante una sesión. Contiene los campos siguientes:
    * date_played: día en el que se contabilizan los datos de la fila.
    * game_level_id: identificador de la cantidad de las ciegas.
    * site_id: identificador de la sala.
    * player_id: identificador del jugador que ha ganado dinero en la sesión a opponent_id.
    * session_id: identificador de la sesión.
    * opponent_id: identificador del jugador que ha palmado pasta en la sesión a manos del jugador player_id.
    * won_from: cantidad ganada por el jugador player_id a opponent_id.
    * times_beat: veces que player_id ha ganado a opponent_id en la sesión.
    * real_player_id: identificador del jugador ganador (por si usa alias).
    * real_opp_id: identificador del jugador perdedor (por si usa alias).



    Esta tabla sirve como base para mostrar la información de ganancias y pérdidas entre jugadores que tantas veces hemos tenido que volver a mirar varias veces por parecer increíble que ese jugador, con lo malo que es, nos haya ganado tanto dinero.


    Tablas de configuración:
    Almacenan los datos de configuración del PT. En este apartado se encuentran las siguientes tablas (no merece la pena extenderse en ellas):
    * dst: rangos de fechas que utilizará para cálculos internos del programa.
    * datawindow_prefs: preferencias del programa.
    * exrates: tipo de cambio entre dólares, euros y libras que va a utilizar en los cálculos.
    * error_msgs: mensajes de error del programa.
    * version_info: número de versión del programa.

    Con esto concluyo la revisión pormenorizada de las tablas de PT. Espero que aclare algunas dudas y facilite la creación de consultas que abordaré en la siguiente entrada.
    Última edición por spainfull; 30/01/2007 a las 21:44 PM

  2. #2

    Predeterminado Re: Cómo realizar consultas SQL en la BD de Poker Tracker. Parte II.

    Al menos creo que mereces un agradecimiento por el curro

  3. #3
    Avatar de nepundo
    Fecha de Ingreso
    01 Nov, 05
    Mensajes
    21,808

    Predeterminado Re: Cómo realizar consultas SQL en la BD de Poker Tracker. Parte II.

    Incluso dos :-)
    bolutron: quitate eso de la firma capullo cabezon!
    Mister Jose: eropdna peroa y ajno acierto ovcn las tacleas

  4. #4
    Avatar de MonJamon
    Fecha de Ingreso
    06 Feb, 06
    Mensajes
    3,514

    Predeterminado Re: Cómo realizar consultas SQL en la BD de Poker Tracker. Parte II.

    Aunque ya te había dado las gracias en el foro de Alex te las vuelvo a dar aqui, que te las has ganao. Peazo de curro de has dao, jodio, ¡y el que nos has ahorrao a más de uno!

  5. #5

    Predeterminado Re: Cómo realizar consultas SQL en la BD de Poker Tracker. Parte II.

    de nada, hombre. Cada uno aporta lo que puede, y como no sé jugar demasiado a esto de los números y de la realeza, intento hacer de vez en cuando algo que sirva a los foreros (aunque sé que esto no lo van a usar demasiados; eso sí, poca cantidad pero mucha calidad )

    Saludos.

    PD: En mi blog se ven todas las tablas bien, es que es un poco compilcado escribir en ese formato y luego pasarlo a los foros (no tengo publicidad así que me da igual que se vea en un sitio u otro); las imágenes no se cargan bien si son las subidas a blogger...

  6. #6

    Fecha de Ingreso
    23 Mar, 06
    Mensajes
    428

    Predeterminado Re: Cómo realizar consultas SQL en la BD de Poker Tracker. Parte II.

    A mi lo de la base de datos de chochos me ha parecido muy machista

  7. #7

    Predeterminado Re: Cómo realizar consultas SQL en la BD de Poker Tracker. Parte II.

    Cita Iniciado por chaide Ver Mensaje
    A mi lo de la base de datos de chochos me ha parecido muy machista
    ¿tú crees? Quizás tienes razón, un obsesivo la nombraría "Coñitos", es más dulce y cariñoso; aunque ya te digo que aparte de mi propia experiencia no soy demasiado experto en psicopatías ni enfermedades mentales. Ya consultaré con un psiquiatra amigo, no te preocupes.

  8. #8

    Fecha de Ingreso
    23 Mar, 06
    Mensajes
    428

    Predeterminado Re: Cómo realizar consultas SQL en la BD de Poker Tracker. Parte II.

    perdon tenia q haber puesto esto al final de la frase:

  9. #9

    Predeterminado Re: Cómo realizar consultas SQL en la BD de Poker Tracker. Parte II.

    Cita Iniciado por chaide Ver Mensaje
    perdon tenia q haber puesto esto al final de la frase:
    sí, cambia un poco el sentido. Pero no pasa nada, es ciertamente machista

  10. #10

    Fecha de Ingreso
    23 Mar, 06
    Mensajes
    428

    Predeterminado Re: Cómo realizar consultas SQL en la BD de Poker Tracker. Parte II.

    oye tu q sabes de bases de datos tiene esto sentido o es un rollo? tanto les cuesta hacer una lista de los mejores de cada mes?
    • SHARKSCOPE
    • I'm the greatest player in the world. Why am I not in a leaderboard?Players in the leaderboard need to be submitted for consideration. They are not automatically detected.
    • Why do players have to be submitted to the Leaderboard?Unfortunately the SharkScope database is so large now that we cannot calculate the statistics of every player on a regular basis to see if they are good enough for the leaderboards. It would take over 2 months to complete such a calculation once. However our userbase now is large enough that all the top players in each cataegory will eventually be submitted and we can regularly monitor the statistics of these top players

Página 1 de 2 12 ÚltimoÚltimo

Temas Similares

  1. Respuestas: 2
    Último Mensaje: 28/01/2007, 23:56 PM
  2. Poker Tracker Con Poker Stars
    Por RADIKAL87 en el foro Software
    Respuestas: 7
    Último Mensaje: 29/11/2006, 20:01 PM
  3. Como "mezclar" 2 bases de datos en Poker Tracker?
    Por unlimited en el foro Poker general
    Respuestas: 8
    Último Mensaje: 15/08/2006, 21:49 PM
  4. Problemon Poker Office y Poker Tracker
    Por tokinn en el foro Poker general
    Respuestas: 4
    Último Mensaje: 08/07/2006, 19:22 PM
  5. poker tracker con poker party
    Por RADIKAL87 en el foro Poker general
    Respuestas: 10
    Último Mensaje: 03/07/2006, 21:18 PM

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •