【问题标题】:Double data MySQL JOIN双数据 MySQL JOIN
【发布时间】:2018-10-02 18:18:42
【问题描述】:
我在 MySQL 中有这样的三个表结构:
+------------------------+
| Tables_in_resort_wear |
+------------------------+
|类别 |
|分类sub |
|项目 |
+------------------------+
- 表格类别:
+-------------+------------------+----------------+
| ID_类别 |名称_类别 |排名_类别 |
+-------------+------------------+----------------+
| 101 |巴厘岛度假服| 1 |
| 102 |巴厘岛服装| 1 |
| 103 |加大号度假村 | 3 |
| 104 |巴厘岛批发| 4 |
| 105 |巴厘连衣裙| 高分辨率照片| CLIPARTO 5 |
| 106 |巴厘岛长袍 | 6 |
+-------------+------------------+----------------+
- 表格分类
+----------------+----------+------------------ ------+------------------+
| ID_Categorysub | ID_类别 | Name_Categorysub | Rank_Categorysub |
+----------------+----------+------------------ ------+------------------+
| 630 | 103 |加大码度假服1 | 1 |
| 625 | 101 |巴厘岛度假服 1 | 1 |
|第626章101 |巴厘岛度假服 2 | 2 |
|第627章102 |巴厘岛服装 1 | 1 |
| 628 | 102 |巴厘岛服装2 | 2 |
|第629章103 |加大码度假服2 | 2 |
|第631章104 |巴厘岛批发1 | 1 |
|第632章104 |巴厘岛批发2 | 2 |
|第633章105 |巴厘连衣裙 1 | 1 |
|第634章105 |巴厘连衣裙 2 | 2 |
|第635章106 |巴厘岛长衫 1 | 1 |
|第636章106 |巴里卡夫坦 2 | 2 |
+----------------+----------+------------------ ------+------------------+
- 表格项目
+----------+-------------+----------------+------- -------------+------------------------------------------------ ------+
| ID_项目 | ID_类别 | ID_Categorysub |代码_项目 |名称_物品 |
+----------+-------------+----------------+------- -------------+------------------------------------------------ ------+
| 2519 | 101 | 625 | jm4828 长罩衫|长长的kaftan 度假穿连衣裙| 高分辨率照片| CLIPARTO
| 2520 | 101 | 625 | jm4828 长罩衫| juwita 月亮长衫| 高分辨率照片| CLIPARTO
| 2521 | 101 | 625 | jm4828 长款连衣裙| jm4828 长款热带度假装连衣裙| SHOPBOP
| 2522 | 101 | 625 | jm4828 度假服| jm4828 juwita moon 巴厘岛热带连衣裙| SHOPBOP
|第2523章101 |第626章jm4828 长罩衫| jm4828 长款卡夫坦连衣裙巴厘岛| 高分辨率照片| CLIPARTO
|第2524章101 |第626章jm4828 长袍巴厘岛 | jm4828 女士长袍巴厘岛设计| SHOPBOP
| 2525 | 101 |第626章jm4828 巴厘岛长衫| jm4828 juwita moon 巴厘岛长衫设计| SHOPBOP
| 2526 | 101 |第626章jm4828 巴厘岛度假村we | jm4828 巴厘岛度假穿长裙| SHOPBOP
| 2527 | 102 |第627章jm44dm 巴厘岛妇女| 高分辨率照片| CLIPARTO jm44dm 巴厘岛度假村穿长裙| SHOPBOP
| 2528 | 102 |第627章jm44dm 巴厘岛妇女| 高分辨率照片| CLIPARTO jm44dm 度假村穿连衣裙巴厘岛| 高分辨率照片| CLIPARTO
| 2529 | 102 |第627章jm44dm 巴厘连衣裙| SHOPBOP jm44dm 巴厘岛长裙设计|
| 2530 | 102 |第627章jm44dm 巴厘连衣裙| SHOPBOP jm44dm 女士巴厘连衣裙| SHOPBOP
| 2531 | 102 | 628 | jm44dm 巴厘连衣裙| SHOPBOP jm44dm 女式长裙巴厘岛设计| 高分辨率照片| CLIPARTO
|第2532章102 | 628 | jm44dm 巴厘岛jm44dm 巴厘岛长裙设计|
|第2533章102 | 628 | jm44dm 度假服| jm44dm 度假村穿长裙| 高分辨率照片| CLIPARTO
|第2534章102 | 628 | jm44dm 巴厘岛长袍| 高分辨率照片| CLIPARTO jm44dm 巴厘岛长袍| 高分辨率照片| CLIPARTO
| 2535 | 103 | 630 | jm18 加大码巴厘岛 | juwitamoon 女士加大码| 高分辨率照片| CLIPARTO
|第2536章103 | 630 | jm18 加大码巴厘岛 | juwita moon 女士加大码巴厘岛| 高分辨率照片| CLIPARTO
|第2537章103 | 630 | jm7002 巴厘岛加尺寸| 高分辨率照片| CLIPARTO女士加大码度假服巴厘岛| 高分辨率照片| CLIPARTO
|第2538章103 | 630 | jm7002 加大码平衡球|巴厘岛最佳加大码长衫 |
|第2539章103 |第629章jm1333 巴厘岛加尺寸| 高分辨率照片| CLIPARTO juwita moon 巴厘岛加大码衬衫裙| SHOPBOP
| 2540 | 103 |第629章jm44dm 加大码 | juwita 月亮加大码长裙| SHOPBOP
|第2541章103 |第629章jm18 加大码巴厘岛 |巴厘岛制造的女士加大码长衫| 高分辨率照片| CLIPARTO
|第2542章103 |第629章jm7002 加大码平衡球| juwita 月亮加大码女式长衫| SHOPBOP
+----------+-------------+----------------+------- -------------+------------------------------------------------ ------+
我想显示这 3 个表中的一些数据,为此我使用了 JOIN。
这是我的查询:
SELECT items.id_items,
items.name_items,
category.name_category,
categorysub.id_categorysub,
categorysub.name_categorysub
FROM category
JOIN items
ON category.id_category = items.id_category
JOIN categorysub
ON category.id_category = categorysub.id_category
LIMIT 8
但是,在 ID_Items 中显示双重数据的结果如下:
+----------+-------------------------- --+--------------------------------+----------------+------------ ---------+
| ID_项目 |名称_物品 |名称_类别 | ID_Categorysub | Name_Categorysub |
+----------+-------------------------- --+--------------------------------+----------------+------------ ---------+
| 2519 |长长的kaftan 度假穿连衣裙| 高分辨率照片| CLIPARTO巴厘岛度假服| 625 |巴厘岛度假服 1 |
| 2519 |长长的kaftan 度假穿连衣裙| 高分辨率照片| CLIPARTO巴厘岛度假服|第626章巴厘岛度假服 2 |
| 2520 | juwita 月亮长衫| 高分辨率照片| CLIPARTO巴厘岛度假服| 625 |巴厘岛度假服 1 |
| 2520 | juwita 月亮长衫| 高分辨率照片| CLIPARTO巴厘岛度假服|第626章巴厘岛度假服 2 |
| 2521 | jm4828 长款热带度假装连衣裙| SHOPBOP巴厘岛度假服| 625 |巴厘岛度假服 1 |
| 2521 | jm4828 长款热带度假装连衣裙| SHOPBOP巴厘岛度假服|第626章巴厘岛度假服 2 |
| 2522 | jm4828 juwita moon 巴厘岛热带连衣裙| SHOPBOP巴厘岛度假服| 625 |巴厘岛度假服 1 |
| 2522 | jm4828 juwita moon 巴厘岛热带连衣裙| SHOPBOP巴厘岛度假服|第626章巴厘岛度假服 2 |
+----------+-------------------------- --+--------------------------------+----------------+------------ ---------+
我想显示一些类似的数据,但在 ID_Items 中没有双重数据。我已经尝试过 DISTINCT,我得到了与上面相同的数据。
在我的情况下如何最好的方法?
【问题讨论】:
-
"我想显示一些类似的数据,但在 ID_Items 中没有双重数据。"是的,这就是 JOIN 的工作方式,您可以获得具有一对多或多对多关系的重复列数据。是的,SELECT DISTINCT Items.ID_Items, Items.Name_Items, Category.Name_Category, Categorysub.ID_Categorysub, Categorysub.Name_Categorysub FROM ... 不起作用,因为您没有重复记录。
-
-
正确格式化您的代码。当人们查看一直向右延伸的单行代码时,他们倾向于跳过它。
标签:
mysql
join