Hilfe bei der Platzierung

Heinzi79

Aktiver Benutzer
Beiträge
36
Hallo zusammen,

ich brauche mal eure Hilfe. In meiner Datenbank stimmt die Platzierung nicht.

Ich weis nicht war das so ist, im Code.
Abfrage

SELECT "Fahrer_Team"."Nr.", "Fahrer_Team"."Fahrer", "Fahrer_Team"."Alter", "Fahrer_Team"."Nationalität", "Fahrer_Team"."von", "Fahrer_Team"."bis", "Fahrer_Team"."Siege_je_Konstrukteur", "Fahrer_Team"."Geb.", "Fahrer_Team"."Gest.", SUM( "Fahrer"."Pole" ) AS "Pole gesamt", SUM( "Fahrer"."Starts" ) AS "Starts gesamt", SUM( "Fahrer"."Siege" ) AS "Siege gesamt", SUM( "Fahrer"."WM" ) AS "WM gesamt" FROM "Fahrer", "Fahrer_Team" WHERE "Fahrer"."Fahrer_ID" = "Fahrer_Team"."ID" GROUP BY "Fahrer_Team"."Fahrer", "Fahrer_Team"."Nr.", "Fahrer_Team"."Alter", "Fahrer_Team"."Nationalität", "Fahrer_Team"."von", "Fahrer_Team"."bis", "Fahrer_Team"."Geb.", "Fahrer_Team"."Gest.", "Fahrer_Team"."Siege_je_Konstrukteur"

Abfrage: Platzierung
SELECT ( SELECT COUNT( "Fahrer" ) FROM "viw_SiegeWMFahrer" WHERE "Siege gesamt" >= "a"."Siege gesamt" ) AS "Platz", "a".* FROM "viw_SiegeWMFahrer" AS "a" ORDER BY "Siege gesamt" DESC

Ansieht: Mit Fehler


Für eine Hilfe sehr dankbar:

Grüß Udo
 

Anhänge

  • f232112.webp
    f232112.webp
    26,7 KB · Aufrufe: 14
Werbung:
Sorry, aber was soll man damit anfangen?
Was ist der Fehler?
Was hat das erste Statement mit dem zweiten zu tun?
Was hat das Bild mit den Abfragen zu tun?
Wo sind Daten & Tabellenstrukturen, anhand derer man eine Idee von der Sache bekommen könnte und letztlich auch verlässliche Aussagen treffen könnte?

Die wenigen Infos, die Du gibst, sind auch noch schwer zu lesen/interpretieren, weil schlecht geschrieben.

Wenn Du selbst nicht weißt (und nicht schreibst), was das so ist im Code bzw. was es sein sollte, wer soll es dann wissen?

Eine Anfrage in einem Forum sollte ein nachvollziehbares Beispiel zum Problem / Fehler liefern:
Tabellendefinition, (wenige, plausible ) Beispieldaten, Fehlermeldung oder Beschreibung des Problems und natürlich auch, was eigentlich als Ergebnis erwartet wird.
 
Ich empfehle einfach mal rank() oder dense_rank().

Auch wenn ich nicht verstehe welchen "Fehler" du hast, hat deine Subselect-Methode definitiv Schwachpunkte. Wenn z.B. zwei Plätze gleich viele Siege haben landen beide auf dem hinteren der beiden Plätze.
 
Hallo,

der Fehler ist:

Platz, Siege, WM
1. 105, 7
2. 91, 7
3. 61, 3
4. 53, 4
5. 51, 4
6. 24, 5

Richtig ist

Platz, Siege, WM
1. 105, 7
2. 91, 7
3. 24, 5
4. 53, 4
5. 51, 4
6. 61, 3

Vielleicht kann mir jemand Helfen.

Gruß
Rambo_172
 
Hallo

das sind die Tabellen:
Fahrer

und Tabelle
Fahrer_Team

Gruß
Rambo_172
 

Anhänge

  • Fahrer.webp
    Fahrer.webp
    7,9 KB · Aufrufe: 5
  • Fahrer_Team.webp
    Fahrer_Team.webp
    51,5 KB · Aufrufe: 5
es gibt nur ein platzierungsabfrage.

SELECT ( SELECT COUNT( "Fahrer" ) FROM "viw_SiegeWMFahrer" WHERE "Siege gesamt" >= "a"."Siege gesamt" ) AS "Platz", "a".* FROM "viw_SiegeWMFahrer" AS "a" ORDER BY "Siege gesamt" DESC

dort ist ein Fehler
 
Werbung:
Zurück
Oben