gpt4 book ai didi

php - 在单个 MySQL 查询中查找另一个表中一列的值

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

在表 f_stock 中,我有一个库存中所有项目的列表。 type列中的整数是指f_type表中的id

我想用 f_type.id 代替 f_stock.type 输出表 f_stock 的内容。这是怎么做到的?

在过去,我按照这些思路做了一些事情:

$query = "SELECT * FROM `f_stock`";
$result = mysql_query ($query) or die (mysql_error ());
while ($row = mysql_fetch_array ($result, MYSQL_ASSOC)) {
$data[] = $row;
}
print_r ($data);

为了在 f_type.id 列中查找整数 f_stock.type,我在 while 中创建了一个辅助 $query/$result循环。

f_stock:

`type` | `size` | `length`
-------|--------|---------
1 | 3 | 12
1 | 3 | 16
2 | 3 | 20
2 | 3 | 25
1 | 4 | 12
1 | 4 | 16
3 | 4 | 20

f_type:

 `id` |  `type` 
------|---------
1 | 'Type 1'
2 | 'Type 2'
3 | 'Type 3'
4 | 'Type 4'
5 | 'Type 5'
6 | 'Type 6'
7 | 'Type 7'

最佳答案

您正在寻找的是 JOIN .

SELECT `f_stock`.`size`, `f_stock`.`length`, `f_type`.`type`
FROM `f_stock`
LEFT JOIN `f_type` ON `f_type`.`id` = `f_stock`.`type`

-编辑-
@Bruno Vieira 的实际上更好,您应该使用 LEFT JOIN 而不是 INNER JOIN。原因是 INNER JOIN 仅返回具有匹配 f_type 行的 f_stock 行。如果 f_stock.type 为 NULL,或者如果不存在具有给定 idf_type,则 f_stock 行不会被退回。 LEFT JOIN 返回所有 f_stock 行,然后在可能的情况下尝试将它们与 f_type 行匹配。

关于php - 在单个 MySQL 查询中查找另一个表中一列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13248866/

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