Ergebnis 1 bis 6 von 6

Thema: Kreuztabelle mit Sortierung

  1. #1
    HTML Newbie
    Registriert seit
    10.09.2012
    Beiträge
    3
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Kreuztabelle mit Sortierung

    Hallo Community,


    habe schon etliche Foren durchsucht und keine verständliche Antwort gefunden.


    Ich habe 2 Tabellen: tbl_spieler und tbl_ergebnisse


    tbl_spieler
    ID | Name | Vorname


    tbl_ergebnisse
    ID | ErgebnisNr | Ergebnis




    Ich möchte jetzt folgende Darstellung:





    Außerdem soll Ergebnis1 immer das höchste Ergebnis des Spielers sein, Ergebnis2 das Zweithöchste etc.


    Die Spieler sollen so sortiert sein, dass der Spieler, mit dem höchsten Ergebnis ganz oben steht, bei Gleichstand zählt das 2. bzw. 3.




    Bitte um Hilfe, bin komplett neu verzeifelt..


    Vielen vielen Dank für die Antworten.
    Mit freundlichen Grüßen
    D. Schmidt
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Forum Guru Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard AW: Kreuztabelle mit Sortierung

    ganz klar, du brauchst ne merge-tabelle

    du hast n spieler, die m ergebnisse haben können
    n:m => mergetabelle^^

    also sowas wie spieler-ergebnisse
    spieler_id|ergebnis_id

    und dann kannste mit left-joins oder nständigen wherebedingungen dein statement bauen

    mit where sähe es ggf so aus

    Code:
    select s.name, s.vorname, e.ergebnis_nr, e.ergebnis from spieler s, ergebnis e, merge m where m.spieler_id = s.id and m.ergebnis_id = e.id
    is jetzt ungetestet und mit nem left-join wäre es wohl eleganter..^^

    sollteste doppelte ergebnisse bekommen mach nen select distinct

    und rechtschreibfehler darfste behalten is spät und ich geh ins bett also nachti und viel erfolg
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

  3. #3
    HTML Newbie
    Themenstarter

    Registriert seit
    10.09.2012
    Beiträge
    3
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Kreuztabelle mit Sortierung

    Hey,

    erstmal Danke für die schnelle Antwort. Kam gestern gar nicht mehr dazu, sie zu lesen.

    Habe es jetzt mal ausprobiert, klappt leider noch nicht.
    Habe ausgeschrieben nun folgendes in der Frage:

    Code:
    select     tbl_spieler.Name, tbl_spieler.Vorname, tbl_ergebnisse.ErgNr, tbl_ergebnisse.Ergebnis 
    from 
        tbl_spieler, tbl_ergebnisse, merge m 
    where 
        m.spieler_id = tbl_spieler.id and 
        m.ergebnis_id = tbl_ergebnisse.id
    Ist da ein Fehler in meinen Bezeichnungen drin?
    Bzw. wie würde denn die Alternative aussehen, die du vorgeschlagen hast..?

    Weiterhin habe ich noch das Problem mit der Sortierung, selbst wenn das jetzt funktionieren würde :P

    Liebe Grüße
    Dominik

  4. #4
    Forum Guru Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard AW: Kreuztabelle mit Sortierung

    nachfolgende struktur und das drauf folgende sql sind so geprüft. natürlich ist mit einer solchen struktur nicht dein gewünschtes ergebnis möglich, aber eventuell verdeutlicht es dir die herangehensweise.

    wenn du die struktur so habe willst, wie beschrieben, musste deine daten wohl in einen table stopfen, aber das ist dann eher tabellenkalkulation, als sql
    Code:
    --
    -- Tabellenstruktur für Tabelle `ergebnisse`
    --
    
    CREATE TABLE IF NOT EXISTS `ergebnisse` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `ergebnisnr` varchar(255) NOT NULL,
      `ergebnis` varchar(255) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;
    
    --
    -- Daten für Tabelle `ergebnisse`
    --
    
    INSERT INTO `ergebnisse` (`id`, `ergebnisnr`, `ergebnis`) VALUES
    (1, '4711', 'a'),
    (2, '0815', 'b'),
    (3, '2612', 'c'),
    (4, '4458', 'd'),
    (5, '456d', 'e'),
    (6, '46aw', 'f');
    
    -- --------------------------------------------------------
    
    --
    -- Tabellenstruktur für Tabelle `spieler`
    --
    
    CREATE TABLE IF NOT EXISTS `spieler` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(255) NOT NULL,
      `vorname` varchar(255) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
    
    --
    -- Daten für Tabelle `spieler`
    --
    
    INSERT INTO `spieler` (`id`, `name`, `vorname`) VALUES
    (1, 'dampf', 'hans'),
    (2, 'brot', 'bernd'),
    (3, 'knotenfret', 'ulrich'),
    (4, 'schlachmichtot', 'friedolin');
    
    -- --------------------------------------------------------
    
    --
    -- Tabellenstruktur für Tabelle `spieler_to_ergebnis`
    --
    
    CREATE TABLE IF NOT EXISTS `spieler_to_ergebnis` (
      `spieler_id` int(11) NOT NULL,
      `ergebnis_id` int(11) NOT NULL,
      PRIMARY KEY (`spieler_id`,`ergebnis_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
    
    --
    -- Daten für Tabelle `spieler_to_ergebnis`
    --
    
    INSERT INTO `spieler_to_ergebnis` (`spieler_id`, `ergebnis_id`) VALUES
    (1, 1),
    (1, 2),
    (1, 4),
    (2, 1),
    (2, 2),
    (2, 4),
    (3, 1),
    (3, 4),
    (4, 1),
    (4, 2);
    Code:
    select s.id, s.name, s.vorname, e.ergebnisnr, e.ergebnis from spieler s, ergebnisse e, spieler_to_ergebnis m
    where s.id = m.spieler_id and e.id = m.ergebnis_id order by e.ergebnis asc
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

  5. #5
    HTML Newbie
    Themenstarter

    Registriert seit
    10.09.2012
    Beiträge
    3
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Kreuztabelle mit Sortierung

    Hallo

    Sieht schon mal gut aus, habe es getestet und funktioniert auch so.

    In meinem Entwurf hatte ich nur 2 Tabellen vorgesehen, mit 3 wie bei dir ist es aber komfortabler habe ich festgestellt

    Es passt aber immer noch nicht ganz auf mein Problem, nämlich, dass die Daten nicht untereinander stehen sollen,
    sondern "über Eck" Kenne das von Business Objects unter Slice&Dice.

    Hier nochmal das Schema anhand eines Beispiels:

    entwurf.jpg


    Ist das überhaupt mit mysql möglich oder muss ich die Daten nach der Abfrage noch anders verarbeiten und wenn ja, wie?
    (Meine Seite auf der dies laufen soll ist in php - kenne mich da aber auch nicht viel besser aus )


    Vielen Dank & Viele Grüße
    Dominik

  6. #6
    Forum Guru Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard AW: Kreuztabelle mit Sortierung

    ich glaube nicht, dass man das so in sql hinbekommt, es sei denn man schreibt es direkt in dem format in einen table..
    ich denke schon dass du das nochmal bearbeiten musst, hab bisher nie eine solche darstellungsform mit sql realisiert

    und wenn du gar keine ahnung von php hast, mach nen job im jobforum auf und biete ne gegenleistung.. ohne basiswissen kannste das unterfangen knicken.
    aber eventuell findet sich ja jemand mit mehr zeit oder mehr expertise, der dir das baut
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

Ähnliche Themen

  1. Sortierung
    Von Unregistriert im Forum Datenbank Forum - MySQL und andere Datenbanksoftware
    Antworten: 6
    Letzter Beitrag: 09.06.2012, 20:07
  2. Problem mit sortierung
    Von OJM im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 6
    Letzter Beitrag: 05.02.2007, 15:56
  3. Sortierung
    Von andi1804 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 15.09.2006, 00:37
  4. zahl sortierung
    Von im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 18.01.2005, 11:52

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •