Mysql 方法对具有相同名称的列使用左联接

Mysql 方法对具有相同名称的列使用左联接,mysql,Mysql,我使用的是selectsql\u CALC\u FOUND\u ROWS*,但我需要左键联接一个表,该表的列与第一个列同名 $sql = " SELECT SQL_CALC_FOUND_ROWS * FROM {$this->_db} LEFT JOIN $this->_db2 ON $this->_db2.calc_id = $this->_db.calc_id "; 您知道如何实现这一点吗,因为现在第二个表中的值正在覆盖第一个表?因为

我使用的是
selectsql\u CALC\u FOUND\u ROWS*
,但我需要左键联接一个表,该表的列与第一个列同名

$sql = "
    SELECT SQL_CALC_FOUND_ROWS *
    FROM {$this->_db} 
   LEFT JOIN $this->_db2 ON $this->_db2.calc_id = $this->_db.calc_id    
";

您知道如何实现这一点吗,因为现在第二个表中的值正在覆盖第一个表?

因为您要用与另一个表同名的字段连接一个表,所以不能使用
SELECT*


您需要在
SELECT
语句中手动列出所需的字段。

您可以使用表名来标识列
tableName。ColumnName
为什么要使用
SQL\u CALC\u FOUND\u ROWS
?这只有在查询中有
限制时才有用,而查询中没有限制。为什么不像使用on子句那样使用别名呢?(
Db2
db
选择db.SQL\u CALC\u FOUND\u行作为DBFOUNDROWS、db.*、DB2.*
您仍然可以获得重复的列名,但您可以根据需要对其中一个列名进行别名。不是最干净的,最好从tableAlias.column名称中单独选择imo.xqbert。It workedSolution:选择$this->_db.*$this->_db2.name作为calcname