tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Yaslaw
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
457
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    error_on error_on ist offline Rookie
    Registriert seit
    Aug 2011
    Beiträge
    5
    Ich habe eine SQL-Tabelle in der Schachspieler ihre Herausforderungen eintragen sollen.

    Das Ganze wollte ich so aufbauen:
    Tabelle user
    Tabelle challenge

    die Tabelle user ist hier eigentlich recht uninteressant, die Tabelle challenge macht mir allerdings bei einer Abfrage Probleme.

    Die Schachspieler tragen nach folgendem Muster ihre Ergebnisse ein:
    Code :
    1
    2
    3
    
    ID (PrimKey)
    userID (Das ist der Spieler der die Challenge eingetragen hat und auch der Gewinner ist)
    opponentID (Das ist der Gegner und der Verlierer der Herausforderung)

    Es soll nun ausgewertet und gleichzeitig sortiert werden, das Muster hierbei ist folgendes

    Code :
    1
    2
    3
    4
    
    #    Spieler     Punkte
    1    Anton       120
    2    Hans        100
    3    Theo         -10
    D.h. Jeder Spieler der ein Spiel eingetragen hat, der bekommt 10 Punkte, wenn jemand ein Spiel verloren hat, dann erhält er -5 Punkte.

    Was mir die größten Probleme macht ist die Ermittlung der Punkte, die Rangliste wäre dann eher kein Problem, denn das könnte man mit der Ausgabe erledigen.
     

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Als erstes sollten wir mal definieren mit was für einer Datenbank du arbeiten willst. MySQL, Oracle, MS SQL?
    Mit MySQL könntest du das etwa so versuchen.
    Die User mit einer Union untereinander setzen und dann darüber gruppieren und summieren
    Code sql:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    SELECT
        userID,
        SUM(pkt) AS punkte
    FROM
        (
            SELECT
                userID,
                10 AS pkt
            FROM
                challenge
            UNION ALL
            SELECT
                opponentID,
                -5 AS pkte
            FROM
                challenge
        ) AS dat
    GROUP BY
        userID
    error_on bedankt sich. 
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  3. #3
    error_on error_on ist offline Rookie
    Registriert seit
    Aug 2011
    Beiträge
    5
    Richtig, genau das hab ich gesucht, danke! Mysql war richtig.

    Danke für die Hilfe!
    Geändert von error_on (20.10.11 um 14:11 Uhr)
     

Ähnliche Themen

  1. Antworten: 7
    Letzter Beitrag: 09.06.11, 12:36
  2. Mit Inhalt einer Textdatei Rechnen ?
    Von Corefice im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 22.01.05, 22:09
  3. Problem mit Rechnen und einer Abfrage
    Von Kerwin im Forum Javascript & Ajax
    Antworten: 6
    Letzter Beitrag: 09.09.04, 16:55
  4. MS Access 2000 Rechnen im Formular/Abfrage?
    Von Stegy im Forum Relationale Datenbanksysteme
    Antworten: 9
    Letzter Beitrag: 08.06.04, 10:45
  5. Mit Daten aus einer Datenbank rechnen
    Von alma im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 26.09.03, 08:43