如何通过外键过滤SQL中的表?

时间:2014-12-30 10:23:32

标签: php mysql sql phpmyadmin

我正在建立一个可以登记自行车维修的网站。它有效,但现在我很好。我有一个MySQL数据库,其中包含一个名为“Reparation”,“Customer”和“bike”的表

在自行车中,有一个与模型,品牌等有关的唯一ID。在Customer中,有customerID,客户名称,地址等。在赔偿中我可以选择一个客户和一辆自行车,所以它们是相关的,这也很好:)。

当我选择客户进行赔偿时,我只想看到他的自行车。因此,当客户有两辆自行车时,我想选择客户并只看到两辆自行车(或者他们的唯一ID')。

现在我选择了一个客户,我看到了所有客户的所有自行车。我如何在phpMyAdmin或PHP中执行此操作?两者都很好,但如果可能的话,更好的phpMyAdmin ..

2 个答案:

答案 0 :(得分:0)

由于您还没有提供表格结构,我们只能举例:

所以你可以尝试类似的东西:

SELECT * FROM Reparation WHERE customer_id = selected_customer_id;

答案 1 :(得分:0)

由于一个客户可以拥有多个自行车,而一个自行车属于一个客户,因此您应该将CustomerID存储在自行车表(1-to-many relationship)中。

Bike                                     Customer
  + bikeID                                 + customerID
  + bikeBrand                              + customerAddress
  ...                                      ...
  + customerID                             

然后,选择属于ID为X的客户的所有自行车:

SELECT bikeID FROM Bike WHERE customerID = X;