2016-03-20 13 views
1

Ich versuche eine Abfrage zu machen, wo es auf eine Tabelle geht bekommt einen Wert, in diesem Fall seine TeamCode und dann nimmt es und findet die TeamCode in einer anderen Tabelle Spalten HomeTeam und AwayTeam und die Team Spalte aus dem Club-Tisch zurückgeben.Wie bekomme ich einen Wert aus einer Tabelle, die in einer anderen Tabelle erscheinen

SELECT Team 
FROM club 
WHERE TeamCode IN (SELECT DISTINCT  
HomeTeam and Awayteam FROM matches);  

Dieser Code aus irgendeinem Grund nur einen Eintrag zurückgibt, wenn es mehr als 20.

Antwort

0

sein sollte, das tatsächlich funktioniert? Versuchen Sie folgendes:

SELECT Team 
FROM club 
WHERE TeamCode IN (SELECT DISTINCT HomeTeam FROM Matches 
        UNION 
        SELECT DISTINCT AwayTeam FROM Matches); 

Oder existiert:

SELECT t.team 
FROM club t 
WHERE EXISTS(select 1 from Matches s 
      where s.awayTeam = t.team 
       or s.HomeTeam = t.Team) 

Oder mit einer inneren Verknüpfung:

SELECT t.team 
FROM club t 
INNER JOIN Matches s 
ON(s.awayTeam = t.team 
    or s.HomeTeam = t.Team) 
+0

Ja, das ist perfekt, es funktioniert. –

Verwandte Themen