gpt4 book ai didi

php - Mysql 查询依赖于另一个查询与连接

转载 作者:行者123 更新时间:2023-11-29 00:56:53 25 4
gpt4 key购买 nike

卡住了!因此,我一直在研究如何根据另一个查询的结果运行一个查询,并了解到它效率不高(而且我没有得到我期望的结果。)

这是我的信息:

我有一个用于 team_id 的 $_Get 变量。

我有两张 table 。表 1 和表 2。表 1 有 team_id 和 player_id,而表 2 有所有球员信息。

我想获取表 2 中的 player_name。在下面查看我的想法以获得更好的 id:

//assign and clean up tid
$tid = mysql_real_escape_string($_GET['tid']);

//query to find player id where the team id matches tid
$sql = "SELECT player_id FROM table1 WHERE team_id = '$tid'";
$result = mysql_query($sql);

//then I was basically going to run a while loop with another query to get the playerid
while ($row=mysql_fetch_array($result)){
$playerid=$row['player_id'];

$sql2 = "select player_name from table2 where player_id = '$playerid'";
$result2 = mysql_query($sql2);
echo $result2;
}

在对此进行研究时,我发现似乎有一个共识,即使用 mysql 连接是在没有 while 循环的情况下实现此目的的最佳方法。我玩过那个选项,但并不真正了解连接的工作原理。我将如何创建一个查询来获得我想要的结果?

最佳答案

维恩可视化有很大帮助:http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html

编辑:我想这就是你想要的......

SELECT p.player_name
FROM players AS p
INNER JOIN team_players AS t ON (t.player_id = p.player_id)
WHERE t.team_id = $tid

我强烈建议您拿起一本 SQL 书籍。一个用非常易于理解的语言编写的是 Head First SQL .

关于php - Mysql 查询依赖于另一个查询与连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5706724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com