gpt4 book ai didi

php - MySQL 多重连接并使用结果连接另一个表

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

我有三个名为

的表

表名称:信息

+------+-------+-------+
| id | name | img |
+------+-------+-------+
| 1 | x | a.png |
| 2 | xl | b.png |
| 3 | xxl | c.png |
| 4 | xxxl | d.png |
| 5 | xxxxl | e.png |
+------+-------+-------+

表名称:地址

+------+-------+------+------+
| id | addID | add1 | add2 |
+------+-------+------+------+
| 1 | a1 | abc | |
| 2 | a2 | def | qrs |
| 4 | a3 | jkl | |
| 5 | a4 | mno | xyz |
+------+-------+------+------+

表名称:位置

+-------+------+
| addID | dist |
+-------+------+
| a1 | 1.5m |
| a2 | 2.3m |
| a3 | 3m |
+-------+------+

我设法得到结果

+------+-------+-------+------+-------+------+------+
| id | name | img | id | addID | add1 | add2 |
+------+-------+-------+------+-------+------+------+
| 4 | xxxl | d.png | 4 | a3 | jkl | |
+------+-------+-------+------+-------+------+------+

使用查询

SELECT * 
FROM information
LEFT JOIN address
ON information.id = address.id
WHERE information.id = 4

但是我想要得到的是

+------+-------+-------+------+-------+------+------+-------+------+
| id | name | img | id | addID | add1 | add2 | addID | dist |
+------+-------+-------+------+-------+------+------+-------+------+
| 4 | xxxl | d.png | 4 | a3 | jkl | | a3 | 3m |
+------+-------+-------+------+-------+------+------+-------+------+

将信息(表)中的 id 与地址(表)进行匹配,然后从之前的结果中获取 addID 值并与位置(表)进行匹配注意:我试图仅获取一行作为给定条件的结果 (WHERE information.id = 4)

能达到预期的效果吗!?特别是连接 5 个或更多 table 左右的多个 table !?

我要实现成功查询的地方是:

$my_table = $wpdb->get_results( " mysql successful query goes here " );
<?php foreach ($my_table as $row){ ?>
<?php LENGTHY HTML CODE GOES HERE ?>
<?php } ?>

最佳答案

SELECT * 
FROM information
LEFT JOIN address
ON information.id = address.id
LEFT JOIN location
ON address.addID = location.addID
WHERE information.id = 4

注意事项:

  • LEFT JOIN 是指您可能没有与其他表相匹配的行。在这种情况下,您似乎可以使用 INNER JOIN
  • 当前表位置没有意义。字段dist应该是address表的字段。
  • 如果您想添加 5 个表,只需遵循相同的 sintaxis JOIN ... ON ...

关于php - MySQL 多重连接并使用结果连接另一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57484699/

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