【发布时间】:2022-01-20 16:36:56
【问题描述】:
我有 3 张桌子: 客户, 购买, 产品
客户表:
| Cid | ClientName |
|---|---|
| 1 | SAM |
| 2 | JOE |
采购表:
| PurchaseID | Cid | ProductID |
|---|---|---|
| 1 | 1 | 1 |
| 2 | 1 | 2 |
| 3 | 2 | 1 |
产品表:
| ProductID | ProductName |
|---|---|
| 1 | JAM |
| 2 | BREAD |
在内部加入它们后,它应该如下所示: 输出:
| Cid | ClientName | ProductID | ProductName |
|---|---|---|---|
| 1 | SAM | 1 | JAM |
| 1 | SAM | 2 | BREAD |
| 2 | JOE | 1 | JAM |
我尝试了以下查询:
SELECT C.Cid, C.ClientName, Pr.ProductID, Pr.ProductName
FROM Client C
JOIN Purchase Pu
ON C.Cid = Pu.Cid
JOIN Product Pr
ON Pu.ProductID = Pr.ProductID
即使我得到了所需的结果,但某些行的所有列中仍有许多重复项。 例如:
| Cid | ClientName | ProductID | ProductName |
|---|---|---|---|
| 1 | SAM | 1 | JAM |
| 1 | SAM | 1 | JAM |
如何从结果中删除其中一个重复的行?
【问题讨论】:
-
SELECT DISTINCT ... -
DISTINCT 不起作用。请注意,这里的每一行都是唯一的组合。
-
某些行的所有列中有很多重复项并且这里的每一行都是唯一的组合 - 请选择其中一个。
标签: mysql join duplicates