मेरे पास टीम्स नाम की एक टेबल है जिसमें ये कॉलम हैं: टीमनाम, टीमआईडी, आदि और एक टेबल मैच जिसमें है: टीम 1_आईडी, टीम 2_आईडी, टीम 1_गोल्स, टीम 2_गोल्स, आदि

मुझे इस तरह की एक टेबल चाहिए: TeamName1 Team1_Goals TeamName2 Team2_Goals

मैंने कुछ ऐसा करने की कोशिश की:

select Teams.TeamName, Matches.Team1_Goals
    , (select Teams.TeamName where Teams.TeamID = Matches.Team2_ID) as TeamName2
    , Matches.Team2_Goals
from Matches
inner join Teams on Teams.TeamID = Matches.Team1_ID
inner join Teams as Teams2 on Teams2.TeamID = Matches.Team2_ID

लेकिन यह वह नहीं लौटाता जो मैं चाहता हूं। क्या कोई मेरी मदद कर सकता है?

1
valentin.ciprian 20 अप्रैल 2020, 22:35

1 उत्तर

सबसे बढ़िया उत्तर

एक सबक्वेरी की जरूरत नहीं है। प्रत्येक Team टेबल जॉइन से बस एक TeamName खींचें।

कुछ इस तरह:

SELECT t1.TeamName     AS team1_name
     , m.Team1_Goals   AS team1_goals

     , t2.TeamName     AS team2_name
     , m.Team2_Goals   AS team2_goals 

  FROM Matches m

  JOIN Teams t1
    ON t1.TeamID = m.Team1_ID

  JOIN Teams t2
    ON t2.TeamID = m.Team2_ID

 ORDER
    BY ... 
0
spencer7593 20 अप्रैल 2020, 23:22