gpt4 book ai didi

php - 在 PHP 中将 2 个不同表中的 1 列匹配在一起

转载 作者:行者123 更新时间:2023-11-29 13:30:30 25 4
gpt4 key购买 nike

我有 2 个 MySQL 数据库,

一个包含 customer 表,另一个包含 client 表。

在客户表中,有一个名为 customerid 的列,在另一个数据库的客户表中,有一列名为 parent_client_id

我希望能够从客户表中选择所有数据,并确保客户表中存在匹配的行。

我希望能够显示客户表中不在客户表中的每一行的数据

我如何使用 PHP 来做到这一点?

我已经尝试过这个:

$sql="SELECT * from client ";
$rs=mysql_query($sql,$pbx01_conn);
while($result=mysql_fetch_array($rs))
{
$sql2="SELECT * from customer where customerid NOT IN( SELECT * from customer where customerid = '".$result["parent_client_id"]."' ) ";
echo $sql2;
$rs2=mysql_query($sql2,$conn) or die(mysql_error());
$result2=mysql_fetch_array($rs2);
echo $result2["company"].'<br>';
}

但它不显示不匹配的行

最佳答案

您需要加入

SELECT * FROM client LEFT JOIN customer ON customer.parent_client_id = client.id;

您提供的信息不多,所以我给出的查询可能是错误的,但您确实需要使用一些 JOIN,所以我会给您一些内容供您阅读。

  1. INNER JOIN
  2. LEFT JOIN
  3. RIGHT JOIN
  4. FULL JOIN
<小时/>

OP编辑后。

您以错误的方式使用mysql_fetch_array,您应该:

while ($row = mysql_fetch_array($rs2)) 
{
echo $row['company'] . '<br>';
}

因为这里可能有更多结果,但是您可能想要一个查询,即:

SELECT * FROM customer
FULL JOIN client
ON client.parent_client_id = customer.customerid
WHERE customer.customerid
NOT IN
(
SELECT FROM customer
INNER JOIN client
ON client.parent_client_id = customer.customerid
WHERE 1
)

关于php - 在 PHP 中将 2 个不同表中的 1 列匹配在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19535704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com