MySQL: Abfrage über zwei Tabellen ohne identische Feldnamen

metty

Erfahrenes Mitglied
Hallo zusammen,

lang lang ists her, dass ich mal was mit MySQL gemacht hat. Und das macht sich direkt bemerkbar... :/

Ich möchte eine Abfrage über zwei Tabellen machen:

Tabelle 1 enthält die Felder
id
name

Tabelle 2:
spielid
angreifer
verteidiger
ort

'Angreifer' und 'Verteidiger' haben eine ID, die 'identisch ist mit id' aus Tabelle 1.

Ich möchte nun nur die beiden zutreffenden Namen der Angreifer und Verteidiger ausgeben, die eine bestimmte spielid hat.

Ein Ansatz von mir war folgender:
Code:
SELECT tabelle1.id FROM tabelle1 WHERE tabelle2.spielid = 1

Kann mir wer folgen? Und eventuell weiterhelfen?

Vielen Dank!
Metty
 
Vielleicht so?
Frage gehört normal hier "Relationale Datenbanksysteme" hin...

SQL:
SELECT
        `A`.`id`,
        `A`.`name`,
        `B`.`spielid`,
        `B`.`angreifer`,
        `B`.`verteidiger`,
        `B`.`ort`
 FROM
        `Tabelle1` `A`,
        `Tabelle2` `B`
 WHERE
        `A`.`id` = `B`.`angreifer`
   AND
        `A`.`id` = `B`.`verteidiger`
 
So, habs mal zu den Datenbanken verschoben...

Du musst die Tabelle1 mehrfach einbinden. Denn du willst ja pro Eintrag aus Tabelle2 den angreiffer und den Verteidiger
SQL:
SELECT
    table2.spielid,
    table2.ort,
    angreifer.name AS angreifer_name,
    verteidieger.name AS verteidieger_name
FROM
    table2
    INNER JOIN table1 AS angreifer
        ON table2.angreifer = angreifer.id
    INNER JOIN table1 AS verteidieger
        ON table2.angreifer = verteidieger.id
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück