Ich versuche, den Namen der Avatare, die zu aktiven Spielern gehören und auch die Spieler, deren E-Mail mit "a" beginnt, zu bekommen.Holen Sie sich Daten mit inneren Join auf drei Tabellen
SELECT NAME
FROM AVATAR
INNER JOIN PLAYERAVATAR ON PLAYERAVATAR.PLAYER_ID = PLAYERAVATAR.AVATAR_ID
INNER JOIN PLAYER ON PLAYER.ACTIVE = 1;
Ich habe dies, aber es funktioniert nicht. Ich bin nicht wirklich gut darin, also würde jede Hilfe geschätzt werden. Vielen Dank.
+-----------+--------------------+-----+--+---+--+
| AVATAR | | | | | |
+-----------+--------------------+-----+--+---+--+
| AVATAR_ID | NUMBER(38,0) | No | | 1 | |
| NAME | VARCHAR2(500 BYTE) | Yes | | 2 | |
| DOB | VARCHAR2(500 BYTE) | Yes | | 3 | |
| HOARD | NUMBER(38,0) | Yes | | 4 | |
| STRENGH | NUMBER | Yes | | 5 | |
| GENDER | VARCHAR2(500 BYTE) | Yes | | 6 | |
| SPECIES | VARCHAR2(500 BYTE) | Yes | | 7 | |
+-----------+--------------------+-----+--+---+--+
+-----------+--------------------+-----+--+---+--+
| PLAYER | | | | | |
+-----------+--------------------+-----+--+---+--+
| PLAYER_ID | NUMBER(38,0) | No | | 1 | |
| NAME | VARCHAR2(500 BYTE) | Yes | | 2 | |
| EMAIL | VARCHAR2(500 BYTE) | Yes | | 3 | |
| ACTIVE | NUMBER(38,0) | Yes | | 4 | |
| PASSWORD | VARCHAR2(500 BYTE) | Yes | | 5 | |
+-----------+--------------------+-----+--+---+--+
+--------------+--------------+-----+--+---+--+
| PLAYERAVATAR | | | | | |
+--------------+--------------+-----+--+---+--+
| PLAYER_ID | NUMBER(38,0) | Yes | | 1 | |
| AVATAR_ID | NUMBER(38,0) | Yes | | 2 | |
+--------------+--------------+-----+--+---+--+
1. "Ich habe dies aber es funktioniert nicht." Was genau funktioniert nicht? 2. "Spieler, deren E-Mail mit einem beginnt". Ich sehe solche Kriterien nirgends in Ihrer Anfrage. 3. NAME existiert sowohl in AVATAR als auch in PLAYER. Wollen Sie dem DBMS nicht mitteilen, welches der beiden Sie anzeigen möchten? –
Gibt es einen Grund, warum du dich den Tischen anschliesst, anstatt Spieler mit 'EXISTS' oder' IN' nachzuschlagen? –
Ein Spieler kann mehrere Avatare haben und jeder Avatar kann von mehreren Spielern benutzt werden. Aber du willst nur die Avatarnamen anzeigen, oder? Und wenn ein Avatar von zwei aktiven Spielern benutzt wird, möchten Sie den Namen des Avatars ein- oder zweimal anzeigen? –