我有两个表,其中一个是工作和其他客户。两个表都有Customer_ID,Customer表是主要的,Job只有一个名为Customer_ID的普通int字段。我不想使用外键,因为它不会自动显示值。当作业表中的行在Customer表中具有Customer_ID#时,如何在客户数据库中显示Customer_Name字段,我该怎么办?
// Data List from Table
$jobs_a = array();
$jobs_sql = $conn->query("SELECT * FROM `MyDB`.`Jobs`")
while($jobs = $jobs_sql->fetch_array(MYSQLI_ASSOC)) {
$customer_id = $jobs['Customer_ID'];
$jobs_a[$customer_id] = $jobs;
}
答案 0 :(得分:2)
在$conn->query
中,在jobTable.custID = CustomerTable.custID的两个表上使用连接。这是一些连接语法文档:
http://dev.mysql.com/doc/refman/5.0/en/join.html
这是一个关于它的教程:
答案 1 :(得分:2)
使用MySQL JOIN
$jobs_sql = $conn->query("SELECT C.customer_name FROM `MyDB`.`Jobs` J
INNER JOIN `MyDB`.`Customers` C ON C.Customer_ID = J.Customer_ID
WHERE J.Customer_ID IS NOT NULL
")