加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Mysql多个左连接在同一个表上

发布时间:2020-12-13 22:36:58 所属栏目:PHP教程 来源:网络整理
导读:我有一个表有两个字段,引用另一个表的ID.我需要从两个字段的另一个表中提取名称. 例如. Table1worker1 = 2 (2 is key to other table)worker2 = 4 Table2ID NAME1 Bill2 Fred3 John 4 Paul 我需要获得$worker1name = Fred和$worker2name = Paul. 所以我会说
我有一个表有两个字段,引用另一个表的ID.我需要从两个字段的另一个表中提取名称.

例如.

 
Table1
worker1 = 2  (2 is key to other table)
worker2 = 4

Table2 ID NAME 1 Bill 2 Fred 3 John 4 Paul

我需要获得$worker1name = Fred和$worker2name = Paul.

所以我会说:

SELECT xxx,NAME?,NAME? FROM Table1
LEFT JOIN Table2 AS p1 ON Table1.worker1 = Table2.ID
LEFT JOIN Table2 AS p2 ON Table1.worker2 = Table2.ID
WHERE ...

$table = mysql_query(...);
$rec = mysql_fetch_assoc($table);
$worker1name = $rec['???'];
$worker2name = $rec['???'];

我在最后两个语句中插入什么来获取这两个名称.或者更准确地说,我必须添加到SELECT中以指定我想要从表2中调用两个不同版本的NAME字段吗?

您应该将字段别名如下:
SELECT
   xxx,p1.NAME as p1name,p2.NAME as p2name
FROM Table1
LEFT JOIN Table2 AS p1 ON Table1.worker1 = p1.ID
LEFT JOIN Table2 AS p2 ON Table1.worker2 = p2.ID
WHERE ...

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读