从我的连接表中获取数据

问题描述:

我有一个连接表,它从我的受访者表respondant_id中获取ID,并从我的团队表table_id获取ID。从我的连接表中获取数据

当我从该表中选择时,输出很好,所以我找回了与队ID一起结尾的响应者ID。

我想用respondant_data的受访者姓名和teams的团队名称通过使用连接表的输出值来显示受访者姓名。

我试过这里,但我一直得到0结果。

$sql = " 
SELECT 
respondant_data.respondant_id, teams.team_id 
FROM 
    respondant_data 
INNER JOIN 
    teams 
ON 
    respondant_data.respondant_id = teams.team_id 
WHERE 
    respondant_teams.team_id= 5"; 

$result = $conn->query($sql); 

$i = 1; 

if($result->num_rows > 0){ 
    while($row = $result->fetch_assoc()){ 
     echo $i++ . ' '; 
     echo 'user_id: ' . $row["respondant_id"] . ', '; 
     echo 'team_id: ' . $row["team_id"]; 
     echo '<br>';   
    } 
} else{ 
    echo 'no results'; 
} 

所以我想我的输出要像“约翰·史密斯”,“中央队”

+1

在一个地方你已经使用过团队(第7,9行),并在一个地方使用过respondant_teams(第11行)。使用适当的表名。 –

+0

可能你正在加入WRONG键上的表....如果respondant_data有一个外键,比如team_id,那么JOIN可以是:respondant_data.team_id = teams.team_id ....其中respondant_data表的team_id是一个外键指向队表... – barudo

+0

Iv让自己都感到困惑:(所以是的,我只是想加入我的中间表,其中有respondant_id和team_id并输出了兄弟的名字和队名也属于... – PhpDude

尝试此查询。

SELECT 
    resp_data.respondant_id, teams.team_id 
FROM 
    respondant_data resp_data, 
    teams, 
    respondant_teams resp_teams 
WHERE 
    resp_data.respondant_id = teams.team_id 
     and resp_teams.team_id = teams.team_id 
     and resp_teams.team_id = 5