Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.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_Join - Fatal编程技术网

加入php

加入php,php,mysql,join,Php,Mysql,Join,好吧,我不是PHP的新手,也不是MySQL或joins的新手。。。但是我必须做的是,我不能完全确定不运行foreach就可以将数据注入到我当前的数组中 我有一个类似这样的连接: SELECT `priorities`.`pri_name`, `agent_status`.`sta_title`, `specializations`.`spec_title`, `agents`.* FROM (`agents`) JOIN `priorities` ON `priorities`.`id` = `

好吧,我不是PHP的新手,也不是MySQL或joins的新手。。。但是我必须做的是,我不能完全确定不运行foreach就可以将数据注入到我当前的数组中

我有一个类似这样的连接:

SELECT `priorities`.`pri_name`, `agent_status`.`sta_title`, `specializations`.`spec_title`, `agents`.*
FROM (`agents`)
JOIN `priorities` ON `priorities`.`id` = `agents`.`priority`
JOIN `agent_status` ON `agent_status`.`s_id` = `agents`.`user_status`
JOIN `Specializations` ON `specializations`.`id` = `agents`.`Specialization`
WHERE `agents`.`id` =  '4';
现在,我需要再添加一个连接,这在正常情况下不会是一个问题。但我需要弄清楚的是,在这个查询中,如何在同一个表上创建一个连接,但创建一个不同的记录

所以基本上我需要选择的是第二条记录的f_名称,l_名称,其中id与最初选择的记录的pid相同。。。例如,在我的选择中添加:

agents.f_name AS pf_name, agents.l_name AS pl_name
然后有点像

JOIN('agents' ON agents.id = agents.p_id

或者类似的事情

您可以使用表别名并根据需要多次加入同一个表(当然,不超过允许的最大加入次数):


您可以使用表别名并根据需要多次连接同一个表(当然,不超过允许的最大连接数):


为此,可以使用带别名的自联接。作为例子,考虑下面的代码:

SELECT
   a.*, b.*
FROM
   table AS a
   JOIN table as b
WHERE
   a.id = b.pid
通过这个代码示例,您应该能够将其应用于现有查询


在现有查询中,您应该使用表的别名更改代理表字段引用的前缀
agents
,因此
agents
priority
应该成为alias.priority。

您可以使用带别名的自联接。作为例子,考虑下面的代码:

SELECT
   a.*, b.*
FROM
   table AS a
   JOIN table as b
WHERE
   a.id = b.pid
通过这个代码示例,您应该能够将其应用于现有查询


在现有查询中,应使用表别名更改对agents表字段的引用的前缀
agents
,因此
agents
priority
应成为alias.priority。

关键是使用不同名称对
agents
表的第二个引用进行别名。在我的示例中,我将使用
a2
作为别名

SELECT ..., a2.f_name AS pf_name, a2.l_name AS pl_name
...
JOIN agents a2
    ON agents.p_id = a2.id
...

关键是将对
agents
表的第二个引用别名为另一个名称。在我的示例中,我将使用
a2
作为别名

SELECT ..., a2.f_name AS pf_name, a2.l_name AS pl_name
...
JOIN agents a2
    ON agents.p_id = a2.id
...

你有没有想过使用视图?你有没有想过使用视图?很漂亮。。这就像一个迷人的作品非常感谢自我加入技术!我会马上选择你的答案。太好了。。这就像一个迷人的作品非常感谢自我加入技术!我马上选择你的答案。