Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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
Php 从同一查询中的同一列中获取两个值_Php_Mysql_Sql_Optimization - Fatal编程技术网

Php 从同一查询中的同一列中获取两个值

Php 从同一查询中的同一列中获取两个值,php,mysql,sql,optimization,Php,Mysql,Sql,Optimization,我想知道如何从同一行的同一列中获取两个不同的值。我的意思是,我有我的桌上朋友,如下所示 id |源|目标 1 1 2 1 1 3 然后我有一个users表,其中包含以下值 id |名称 1约翰 2将 3马克 我想知道哪些用户是朋友,例如,在第一种情况下是John和Will是朋友。尝试以下sql查询 select u1.name,u2.name FROM friends as f join users as u1 on f.source=u1.id jo

我想知道如何从同一行的同一列中获取两个不同的值。我的意思是,我有我的桌上朋友,如下所示

id |源|目标
1    1        2
1    1        3
然后我有一个users表,其中包含以下值

id |名称
1约翰
2将
3马克

我想知道哪些用户是朋友,例如,在第一种情况下是John和Will是朋友。

尝试以下sql查询

select u1.name,u2.name FROM friends as f
join users as u1 on f.source=u1.id
join users as u2 on f.Target=u2.id

您可能正在寻找的是将相同查找的双连接到单个驱动程序中:

SELECT
  src.name AS srcName,
  tgt.name AS targetName,
FROM
  friends
  INNER JOIN users AS src ON friends.source=src.id
  INNER JOIN users AS tgt ON friends.target=tgt.id
-- WHERE something?

根据你的例子,约翰和威尔是朋友,约翰和马克也是。那么,是什么让第一个特别呢?这是一个基本的连接查询。在请求帮助之前,您需要显示解决此问题的尝试。请在SQL中选择DISTINCTquery@saadzer这和问题有什么关系?放一些你试过的代码如果你想要真正的帮助,我们这里不为人们做家庭作业