Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.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联接值_Mysql_Sql_Join_Self Join - Fatal编程技术网

Mysql 来自同一表的sql联接值

Mysql 来自同一表的sql联接值,mysql,sql,join,self-join,Mysql,Sql,Join,Self Join,我是通过拜访来的 所以我提出了这样一个问题 SELECT ru.iUserId,ru.iRefUserId,CONCAT(ru.vName,ru.vLastName) AS userName,CONCAT(iru.vName,iru.vLastName) AS RefUserName FROM `register_user` ru INNER JOIN `register_user` iru ON ru.iRefUserId = iru.iRefUserId WHERE ru.iRefUse

我是通过拜访来的

所以我提出了这样一个问题

SELECT ru.iUserId,ru.iRefUserId,CONCAT(ru.vName,ru.vLastName) AS userName,CONCAT(iru.vName,iru.vLastName) AS RefUserName
FROM `register_user` ru
 INNER JOIN `register_user` iru
 ON ru.iRefUserId = iru.iRefUserId
WHERE ru.iRefUserId > 0
数据库是这样的 所以基本上我需要的是当我查询

SELECT * FROM TABLE WHERE iRefUserId > 0
上面的查询结果输出与用户名相同的名称
需要更改连接键

SELECT ru.iUserId,ru.iRefUserId,
CONCAT(ru.vName,ru.vLastName) AS userName,
CONCAT(iru.vName,iru.vLastName) AS RefUserName
FROM `register_user` ru
  JOIN `register_user` iru
 ON ru.iuserid = iru.iRefUserId
WHERE ru.iRefUserId > 0

注:我在ru.iRefUserId>0处给出了此密码,因为您在回答中给出了此密码,这就是原因,但如果您将此密码放在第一位,则您将始终被忽略。

您可能正在寻找外部连接:显示所有用户及其ref用户(如果存在)

SELECT
  ru.iuserid,
  ru.irefuserid,
  CONCAT(ru.vname, ru.vlastname) AS username,
  CONCAT(iru.vname, iru.vlastname) AS refusername
FROM register_user ru
LEFT OUTER JOIN register_user iru ON iru.iuserid = ru.irefuserid
ORDER BY ru.iuserid;

我已更正了错误的连接条件错误ID。此外,由于不存在用户ID为0的用户,并且我猜您只是想避免查找该ID,因此我放弃了条件ru.iRefUserId>0。不需要它,因为外部联接已经处理了这个问题。

这里的大多数人希望示例表数据和预期结果是格式化文本,而不是图像。看一看,帮助你很容易!我已经提供了理解该问题所需的样本数据@jarlh@jarlh好的,我会处理这个:-不工作。。!当我从register_user`ru WHERE ru.iRefUserId>0`运行SELECT ru.iUserId、ru.iRefUserId、CONCATru.vName、ru.vLastName作为用户名时,我找到了一个数据,但当我运行查询时,它返回0results@TarangPchcecck我为你创建的演示链接,在否决投票前工作正常,请切克1sti没有这样做@Zaynul