PHP - MySQL数据库从连接表中选择,显示具有重复名称的列?

时间:2014-03-31 15:54:04

标签: php mysql join

我正在尝试使用PHP在页面上显示表格。 我的select语句包含两个表的连接,每个表包含名为" id"的列,其中一个表" id&#34 ;列通过另一个表" project_id"列。

即。
表A
A.idA.description

表B
B.idB.project_id

WHERE A.id = B.project_id

我的问题是,当我尝试同时显示" project_id"列和" B.id"列(没有别名列)它只是自动抓取" A.id"列。

我给表名别名,但没有列名,我尝试使用" B.id"而不只是" id"在PHP代码中。

我如何获取正确的数据列?我想知道除了别名列之外是否还有其他解决方案,或者这是处理这种情况的正确方法。

谢谢

3 个答案:

答案 0 :(得分:1)

在这种特定情况下,您可能不需要使用别名,因为您无法选择A.id。您已经在B.project_id中使用了它,所以如果您真的不想使用别名(我不明白为什么......),请不要在SELECT语句中包含它。

答案 1 :(得分:0)

始终假定id是您默认加入表的属性。您肯定需要提供alias。它不仅仅是语法,而且还使人们更容易阅读和识别您正在考虑的id

答案 2 :(得分:-1)

你需要给它一个别名

Select a.id, b.id AS bID
FROM tableA a
JOIN tableB b ON a.id = bID

也给了列别名,也许如果OP发布了一些实际的代码,那就更清楚他想要列别名,而不是表别名