【发布时间】:2014-10-20 09:59:45
【问题描述】:
我在 stackoverflow 上尝试了一大堆示例/回答了问题,但我似乎无法完成我需要的。
我正在开发一个 PHP / MySQL 工具来跟踪自己的项目。我认为立即优化最大的表是个好主意,因此我选择将 ID 存储在 Project 表中,而不是全名。当通过 PHP 查看结果时,我希望将该 ID 从 Project 表链接到另一个表中的实际名称,但当然我希望实际的数据库列只包含 ID。我相信这是可能的,我只是不知道如何将其应用于我的情况。
表格 - 项目
ID | CustomerID | Summary | Phase
---------------------------------
1 | 61 | Project1 | 3
2 | 42 | Project2 | 3
3 | 33 | Project3 | 5
表格 - 客户
ID | CustomerName
--------------------
61 | Customer 1
42 | Customer 2
33 | Customer 3
现在,当我从 Projects 表中调用“CustomerID”行时,它会按预期显示 CustomerID 编号。我希望它改为从 Customers 表中提取 CustomerName,将 Customers.ID 列与 Projects.CustomerID 列匹配。
这可能吗?谁能指出我正确的方向?
提前致谢!
【问题讨论】:
-
只选择它?在选择?您可以发布您正在使用的查询吗?
-
现在,我只是使用
SELECT CustomerID FROM Projects WHERE ID = "1";为例。我已经尝试了一些我发现的其他示例,但我对它们一无所获:mysql> SELECT CustomerName FROM Customers INNER JOIN Customers ON (Projects.CustomerID = Customers.ID);ERROR 1066 (42000): Not unique table/alias: 'Customers'mysql> SELECT CustomerName FROM Customers WHERE ID = Projects.CustomerID;ERROR 1054 (42S22): Unknown column 'Projects.CustomerID' in 'where clause'