我有一个表,其中包含产品(ID,名称),另一个表中包含客户(ID,名称,电话号码)。我还知道每个客户购买的每种产品的数量,
即客户端1购买30a、20b、100c和0d
客户端2购买10a、10b、10c和10d
等
我知道如何制作产品表和客户表,但是如何将这两个表关联起来呢?例如,如果我想要显示客户1购买的产品的名称,我该如何做?
干杯
发布于 2016-12-16 07:06:16
你需要的是一个连接客户和产品的“关系”表。
我认为购买信息位于一个单独的表(ClientProductRelation)中,其中包含以下列:- ClientID - ProductID - Quantity (只有当您想知道客户购买了多少产品时才需要)
然后,使用JOIN语句,可以获得完整的信息:
SELECT TOP 1 cl.Name, pr.Description
FROM ClientProductRelation AS cpr
JOIN Clients AS cl ON cpr.ClientID = cl.ID
JOIN Products AS pr ON cpr.ProductID = pr.ID
(我知道TOP 1不是最好的选择,但它是最快的)
希望这对你有所帮助!
发布于 2016-12-16 07:08:14
制作事务/订单表(id、Custid、Prodid、quantity、datetime)。这样你就可以做像这样的事情:
SELECT
c.name,
p.name,
o.quantity,
o.id,
o.datetime
FROM
orders o
JOIN
customers c
ON o.custid = c.id
JOIN products p
ON o.prodid = p.id
WHERE c.id = 1
https://stackoverflow.com/questions/41174548
复制相似问题