Hallo Zusammen
Ich lerne momentan SQL und PHP, dazu Arbeite ich gerade an einer Webseite, in welcher man Ergebnisse einer Sport Veranstaltung eintragen kann, mit Teilnehmern und Disziplinen...
Nun, momentan habe ich ein Table mit den Atributen ID_Startnummer, und ID_Disziplin ( als Fremd-, wie auch Primärschlüssel) Resultat1(mit den erreichten Punkten) und ein Atribut Rang(in welchem momentan 0 steht).
Nun möchte ich mit dem SQL Befehl:
die Tabellen durchsuchen und den Datensätzen den entsprechenden Rang einfügen. (1. Zeile==> Rang=1 ...2.Zeile==> Rang=2...usw).
Wie kann ich die tun?
Hier ist noch der gesammte MYSQL Code:
Vielen Dank
Ich lerne momentan SQL und PHP, dazu Arbeite ich gerade an einer Webseite, in welcher man Ergebnisse einer Sport Veranstaltung eintragen kann, mit Teilnehmern und Disziplinen...
Nun, momentan habe ich ein Table mit den Atributen ID_Startnummer, und ID_Disziplin ( als Fremd-, wie auch Primärschlüssel) Resultat1(mit den erreichten Punkten) und ein Atribut Rang(in welchem momentan 0 steht).
Nun möchte ich mit dem SQL Befehl:
Code:
Select Disziplin_ID,Startnummer_ID,Resultat1,Rang
From Teilnehmer,Disziplin,Ergebnis
Where ID_Startnummer=Startnummer_ID and ID_Disziplin=Disziplin_ID order by Resultat1 DESC;
Wie kann ich die tun?
Hier ist noch der gesammte MYSQL Code:
Code:
CREATE DATABASE RANGLISTE;
USE RANGLISTE;
#Tabelen erstellen
CREATE TABLE VEREIN(
ID_Verein INT NOT NULL AUTO_INCREMENT PRIMARY KEY
,VereinName VARCHAR(30) NOT NULL
);
CREATE TABLE GESCHLECHT(
ID_Geschlecht INT NOT NULL AUTO_INCREMENT PRIMARY KEY
,Geschlecht VARCHAR(1)
);
CREATE TABLE TEILNEHMER(
ID_Startnummer INT NOT NULL AUTO_INCREMENT PRIMARY KEY
,Vorname VARCHAR(30) NOT NULL
,Name VARCHAR (30) NOT NULL
,Geschlecht_ID INT NOT NULL
,Verein_ID INT NOT NULL
,FOREIGN KEY (Geschlecht_ID) REFERENCES GESCHLECHT (ID_Geschlecht) ON DELETE CASCADE
,FOREIGN KEY (Verein_ID) REFERENCES VEREIN (ID_Verein) ON DELETE CASCADE
);
CREATE TABLE ERGEBNIS(
Startnummer_ID INT NOT NULL REFERENCES TEILNEHMER(ID_Startnummer) ON DELETE CASCADE,
Disziplin_ID INT NOT NULL REFERENCES DISZIPLIN(ID_Disziplin) ON DELETE CASCADE,
Resultat1 INT NOT NULL ,
Resultat2 INT,
Resultat3 INT,
Rang INT,
PRIMARY KEY (Startnummer_ID,Disziplin_ID)
);
ALTER TABLE ERGEBNIS
ADD CONSTRAINT FOREIGN KEY (Startnummer_ID) REFERENCES TEILNEHMER (ID_Startnummer) ON DELETE CASCADE;
CREATE TABLE DISZIPLIN(
ID_Disziplin INT NOT NULL AUTO_INCREMENT PRIMARY KEY
,DisziplinName VARCHAR(30) NOT NULL
,Masseinheit1 VARCHAR (20) NOT NULL
,Masseinheit2 VARCHAR (20)
,Masseinheit3 VARCHAR (20)
,Bewertungskriterium VARCHAR(30) NOT NULL
);
#Danten einfügen
INSERT INTO GESCHLECHT
VALUES (NULL, "m")
,(NULL, "w");
Update Ergebnis
Set Rang=2
Where ID_Startnummer=Startnummer_ID and ID_Disziplin=Disziplin_ID order by Resultat1 DESC;
Select Disziplin_ID,Startnummer_ID,Resultat1,Rang
From Teilnehmer,Disziplin,Ergebnis
Where ID_Startnummer=Startnummer_ID and ID_Disziplin=Disziplin_ID order by Resultat1 DESC;
Vielen Dank