Ich habe 4 Tabellen: Team Player und Geburt eines Spielers (in dem ich die Stadt und das Land habe).Frage auswählen Oracle 11g
0
A
Antwort
0
Sie müssen die Tabelle "Team" zweimal abrufen und zwischen ihnen verbinden.
SELECT Game_Date,
Player.First_Name || ' ' || Player.Last_Name AS "PLAYER NAME",
UPPER(Team1.Team_Name) AS "HOME TEAM",
UPPER(Team2.Team_Name) AS "VISITING TEAM",
Team1.Team_City ||' '|| Team1.Team_Name as "TEAM",
Birth_Place1.Country
FROM Game
JOIN Team Team1 ON Game.Team_Home_ID = Team1.Team_ID
JOIN Team Team2 ON Game.Team_Visitor_ID = Team2.Team_ID
JOIN Player Player1 ON Player1.Team_ID = Team1.Team_ID
JOIN Player Player2 ON Player2.Team_ID = Team2.Team_ID
JOIN Birth_Place Birth_Place1 ON Birth_Place1.Birth_Place_ID = Player1.Birth_Place_ID
JOIN Birth_Place Birth_Place2 ON Birth_Place2.Birth_Place_ID = Player2.Birth_Place_ID
WHERE Birth_Place1.Country = Birth_Place2.Country
AND Season = '2015-2016'
AND Game_Date = '10-10-2015'
AND Birth_Place1.Country NOT IN ('CAN', 'USA')
ORDER BY Birth_Place1.Country;
Nicht sicher, ob dies die genaue richtige Anforderung ist, aber Sie bekommen die Idee: der Trick in der ist „Birth_Place1.Country = Birth_Place2.Country“ WHERE-Klausel.
Die WHERE-Klausel wurde auch über Land neu geschrieben, da es aussah, als ob es nur zwei Länder herausgefiltert hätte.
Sie könnten Ihre Architektur ein wenig überprüfen, insbesondere die Birth_Place-Tabelle: Ich denke, das Land des Spielers in der Player-Tabelle zu kennen ist sinnvoll, wenn Sie es als Filter verwenden möchten.
Verwandte Themen
- 1. Oracle 11g - sys_refucursor
- 2. Oracle 11g Sys Abfrage
- 3. Data Guard Oracle 11g
- 4. Oracle 11g Kalte Wiederherstellung?
- 5. Standardkennwörter von Oracle 11g?
- 6. JDBC Thin Oracle 11g
- 7. Oracle 11g und Datenbankverbindung
- 8. Replikationsratgeber Oracle 11g
- 9. Oracle SOA Suite 11g Installationsprobleme
- 10. Oracle Entwickler VM mit Oracle 11g
- 11. Ubuntu 16.04 - Oracle 11g Startproblem
- 12. PL/SQL Oracle 11g Looping
- 13. Access-Daten von Oracle 11g
- 14. Standardberechtigungen auf Oracle-Datenbank 11g
- 15. Einzigartige Reihen in Oracle 11g
- 16. analysieren Log-Tabelle - Oracle 11g
- 17. Erste Fehler in Oracle 11g
- 18. Oracle 11g Analytics-Funktionen SUMME
- 19. Oracle 11g Verbindung wirft mysteriöse Ausnahme
- 20. Verbinden Sie Codeigniter mit Oracle 11g
- 21. Hibernate Dialekt für Oracle Database 11g?
- 22. Oracle 11g Prozedurfehler mit FTP-Paketen
- 23. wie gespeicherte Prozedur in Oracle 11g schreiben
- 24. oracle 11g listagg mit der Referenz-ID
- 25. WSO2 API MGT 2.0 Oracle 11G Unterstützung
- 26. Oracle 11g holen Werte mit Offset-Wert
- 27. schrumpft permanenten Tablespace in Oracle 11g
- 28. NHibernate TransactionScope Problem mit Oracle 11g
- 29. Outer Join mit Sub-Abfrage (Oracle 11g)
- 30. Oracle 11g Docker SELECT sehr langsam
Vielen Dank, es funktioniert, außer dass die richtigen Spieler angezeigt werden, aber jeder Spieler erscheint 2 mal – Carlos
Sie meinen einmal weg und einmal zu Hause, oder? Wie auch immer, können Sie das DISTINCT-Schlüsselwort nach SELECT hinzufügen und sehen, ob es genug ist? –
Nein, nicht einmal, der erste Spieler erscheint 4 Mal, aber die aus Schweden sind gut – Carlos