gpt4 book ai didi

php - 选择没有 AS(别名)的多个表?

转载 作者:行者123 更新时间:2023-11-29 05:43:28 26 4
gpt4 key购买 nike

我需要从多个包含很多字段的表中进行 SELECT。我是否必须像这样手动构造查询:

table1.field1 AS table1_field1, table1.field2 AS table1_field2, ..., table2.field1 AS table2_field1, ...

或者当表中有相同的字段名称时,MySQL 或 PHP 中是否有任何解决方法可以自动处理所有这些问题?

在 PHP 中,我试过:

$results = $conn -> query("SELECT table1.*, table2.* FROM table1, table2 WHERE 1"); // $conn is a mysqli object
$results = $results -> fetch_array();

但是如果两个表中都有一个名为“title”的字段,$results['title'] 将只包含第二个表中记录的值。

我知道您可以使用数字索引来访问该值,但是:

  1. 不可读。
  2. 每次表结构(例如字段顺序)发生变化时,您都必须相应地更新代码。

有什么想法吗?

最佳答案

请注意,您只需要使用在两个表中都出现的名称为字段添加别名,即便如此,您也只需要为第二列添加别名。此外,如果您只需要其中一个表中的字段,则可以在要检索的字段列表中只包含该表。最后,您可以使用更短的名称为每个表名称本身添加别名,然后可以在列别名中使用该名称。

总而言之,您可以执行以下操作:

 SELECT t1.id, t1.title, t2.title as second_title, t2.somethingelse
FROM table1 t1 INNER JOIN table2 t2. . .

关于php - 选择没有 AS(别名)的多个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4643160/

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