我想左联接两个具有相同列名的表。我有两个要加入的表,但我不断收到错误消息:

column 'id' is ambiguous

在我的JSON输出中返回。

我当前的查询:
$sQuery = "
 SELECT SQL_CALC_FOUND_ROWS ".str_replace(" , ", " ", implode(", ", $aColumns))."
 FROM   $sTable
 LEFT JOIN
    $sTable2
    ON ($sTable2.id = $sTable.id)

 $sWhere
 $sOrder
 $sLimit
";

产生该错误。当每个表中的列名称相同时,如何将这两个表作为连接点连接?

最佳答案

明确说明该列属于哪个表。这也适用于查询的SELECT部分​​:

SELECT table1.column AS column1, table2.column AS column2
FROM table1
LEFT JOIN table2
ON table1.column = table2.column

为了节省您一些键入时间,请使用表别名:
SELECT t1.column AS column1, t2.column AS column2
FROM table1 AS t1
LEFT JOIN table2 AS t2
ON t1.column = t2.column

关于mysql - 如何左联接两个具有相同列名的表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8119515/

10-13 22:26