当我查询时:
$result = pg_query($dbconn,
"SELECT w_bildurl,
w_homepage_package_id AS whpi
FROM adempiere.w_homepage_package
LEFT JOIN adempiere.w_homepage_image ON adempiere.w_homepage_package.w_homepage_package_id = adempiere.w_homepage_image.w_homepage_package_id
LEFT JOIN adempiere.w_bilder ON adempiere.w_homepage_image.w_bilder_id = adempiere.w_bilder.w_bilder_id
WHERE sequence > 0
ORDER BY sequence ASC");
我明白了
Query failed: ERROR: column reference
"w_homepage_package_id" is ambiguous LINE 1:
SELECT w_bildurl, w_homepage_package_id AS whpi
我认为将别名添加到 w_homepage_package_id 可以防止歧义。我是否必须将别名添加到 LEFT JOIN 或如何从查询中获取 w_homepage_package_id?
最佳答案
由于同一列在多个表中,因此需要在前面加上表别名,因此更改如下
SELECT tablealis.w_bildurl,
tablealias.w_homepage_package_id AS whpi
只需将 tablealias
更改为这些列所属表的实际表别名
关于php - 为什么这是模棱两可的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21854087/