Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL按id选择名称_Mysql_Sql_Select_Join - Fatal编程技术网

Mysql SQL按id选择名称

Mysql SQL按id选择名称,mysql,sql,select,join,Mysql,Sql,Select,Join,我需要sql查询方面的帮助 我有两张桌子: player\u位置: ID | playerid | location <- unqiue key ---|----------------------- 1 | 1 | DOWNTOWN 我需要选择从player\u位置.playerid获取users.playername。我有唯一的位置来获取player\u位置。playerid 伪查询: SELECT playername FROM users WHERE i

我需要sql查询方面的帮助

我有两张桌子:

player\u位置:

ID |  playerid  | location <- unqiue key
---|-----------------------
 1 |    1       | DOWNTOWN
我需要选择从
player\u位置.playerid
获取
users.playername
。我有唯一的位置来获取
player\u位置。playerid

伪查询:

SELECT playername 
FROM users
WHERE id = player_locations.playerid 
  AND player_locations.location = "DOWNTOWN";

输出应该是
example1

这只是一个简单的
内部连接
。a的一般语法为:

在您的情况下,您可以使用用户的
id
列和
playerid
位置的
playerid
列关联这两个表。您还可以将您的
'DOWNTOWN'
要求包含在
JOIN
语句中。试试这个:

SELECT u.playername
FROM users u
JOIN player_locations pl ON pl.playerid = u.id AND pl.location = 'DOWNTOWN';
编辑

虽然我个人更喜欢上面的语法,但我想让你知道另一种写这篇文章的方法,它与你现在所用的类似

您还可以通过在
from
子句中使用逗号分隔多个表来进行选择。然后,在
WHERE
子句中,您可以插入您的条件:

SELECT u.playername
FROM users u, player_locations pl
WHERE u.id = pl.playerid AND pl.location = 'DOWNTOWN';

这只是一个简单的
内部联接
。a的一般语法为:

在您的情况下,您可以使用用户的
id
列和
playerid
位置的
playerid
列关联这两个表。您还可以将您的
'DOWNTOWN'
要求包含在
JOIN
语句中。试试这个:

SELECT u.playername
FROM users u
JOIN player_locations pl ON pl.playerid = u.id AND pl.location = 'DOWNTOWN';
编辑

虽然我个人更喜欢上面的语法,但我想让你知道另一种写这篇文章的方法,它与你现在所用的类似

您还可以通过在
from
子句中使用逗号分隔多个表来进行选择。然后,在
WHERE
子句中,您可以插入您的条件:

SELECT u.playername
FROM users u, player_locations pl
WHERE u.id = pl.playerid AND pl.location = 'DOWNTOWN';

我有个主意,试试这个:

SELECT playername 
FROM users
WHERE id IN (SELECT DISTINCT playerid FROM player_location WHERE location LIKE "DOWNTOWN");

我有个主意,试试这个:

SELECT playername 
FROM users
WHERE id IN (SELECT DISTINCT playerid FROM player_location WHERE location LIKE "DOWNTOWN");
这是解决办法

SELECT
playername
FROM users
WHERE id = (SELECT id FROM player_locations WHERE location='DOWNTOWN')
这是解决办法

SELECT
playername
FROM users
WHERE id = (SELECT id FROM player_locations WHERE location='DOWNTOWN')

来自用户
应该是
来自用户,玩家位置
来自用户
应该是
来自用户,玩家位置
SQL从一开始就不容易。继续努力,你很快就会解决这些问题。很高兴我能帮上忙。SQL从一开始就不容易。继续努力,你很快就会解决这些问题。很高兴我能帮忙。