ich auf einer Abfrage ein paar Fragen auf Basis habe ich unter:Wählen falsche Ergebnisse für die Spiele und Teams Anzeigen
SELECT
RANK() OVER (PARTITION BY a.LeagueID ORDER BY a.LeagueID) AS WeekNumber,
a.TeamID AS HomeTeamID,
a.TeamAbbreviation AS HomeTeam,
b.TeamID AS AwayTeamID,
b.TeamAbbreviation AS AwayTeam,
a.LeagueID AS HomeLeague,
b.LeagueID AS AwayLeague
FROM
dbo.Team a
CROSS JOIN
dbo.Team b
WHERE
a.TeamID != b.TeamID
AND b.TeamAbbreviation = 'CHE' OR a.TeamAbbreviation = 'CHE'
AND a.LeagueID = b.LeagueID
Derzeit ist die Abfrage zeigt diese Ergebnisse:
Dies ist falsch und ich brauche Hilfe beim Refactoring der Ergebnisse. Was ich versuche zu erreichen ist:
für jedes Spiel ein Team spielt (in diesem Beispiel ‚CHE‘), muss die Spalte Weeknumber die richtige Runde der Vorrichtungen enthalten aktualisieren. Es gibt mehrere Teams, also wenn alle Teams 1 Woche spielen, sollte WeekNumber '1' angezeigt werden, dann sollte die nächste Runde der Spiele WeekNumber '2' usw. anzeigen.
Es zeigt 'CHE' gegen alle Teams an wenn sie wirklich nur gegen Teams in derselben Liga spielen sollten (daher a.LeagueID = b.LeagueID). Im Screenshot ist das Team gegen andere Teams aus anderen Ligen (andere Liga-IDs) zu sehen.
Was muss ich diese Funktion zu erhalten ändern?
SOLL OUTPUT:
WeekNumber HomeTeamID HomeTeam AwayTeamID AwayTeam HomeLeague Away League
1 4 ARS 19 CHE 1 1
2 14 BRC 19 CHE 1 1
3 15 BRR 19 CHE 1 1
können Sie Ihre gewünschte Ausgabe zeigen? – Aldrin
@Aldrin Enthaltene gewünschte Ausgabe wie Sie erwähnt –