0

我正在开展一项新业务,提供大约 30 种不同的服务。我正在尝试找出使用 MySQL 和 PHP 对所有 30 项服务进行“轻松访问”的最佳方式。在这一点上,我正在设置我的数据库,我想确保我朝着正确的方向前进。这是我到目前为止提出的概念:

Create Table customers (customer_id)
Create Table orders (order_id, customer_id, product_id)
Create Table logo_design (logo_id, customer_id, order_id, product_id)
Create Table web_design (web_id, customer_id, order_id, product_id)

所以我的想法是,对于每个新客户,他们将被分配一个唯一的客户 ID。对于他们购买的每项服务,此 ID 都会保留在他们身边。我遇到困难的地方是说客户订购了 3 种不同的服务。如何显示他们购买的 3 项服务,而无需进行一百万次不同的循环或验证检查?真正连接所有表格以便于访问的最佳方式是什么?

任何意见是极大的赞赏!

4

2 回答 2

0

关系数据库通常在客户表和服务表之间有一个表。称它为 customer_ordered_services 也许

它只是掌握客户和他们想要的服务的关键

在您的示例中,此中间表中将有三行来反映他们想要的三种服务

customerId 1, serviceId 1
customerId 1, serviceId 2
customerId 1, serviceId 3
于 2013-01-13T22:48:23.790 回答
0

在我看来,您希望加入表格并按某个客户 ID 进行过滤。看看这个例子让你开始:

SELECT *
FROM   customers AS c
       INNER JOIN orders AS o
           ON c.customer_id = o.customer_id
WHERE c.customer_id = CustomerIDGoesHere

您可以加入任意数量的表

FROM table1
     JOIN table2
         ON table1.column = table2.column
     JOIN table3
         ON table2.column = table3.column
     JOIN table4
         ON table1.column = table4.column
于 2013-01-13T22:50:00.357 回答