gpt4 book ai didi

mysql - 双数据MySQL JOIN

转载 作者:行者123 更新时间:2023-11-29 16:54:55 24 4
gpt4 key购买 nike

我在 MySQL 中有三个表结构,如下所示:

+-----------------------+| Tables_in_resort_wear |+-----------------------+| Category              || Categorysub           || Items                 |+-----------------------+
  1. Table Category:
+-------------+------------------+---------------+| ID_Category | Name_Category    | Rank_Category |+-------------+------------------+---------------+|         101 | resort wear bali |             1 ||         102 | bali clothing    |             1 ||         103 | plus size resort |             3 ||         104 | bali wholesale   |             4 ||         105 | bali dress       |             5 ||         106 | bali caftan      |             6 |+-------------+------------------+---------------+
  1. Table Categorysub
+----------------+-------------+------------------------+------------------+| ID_Categorysub | ID_Category | Name_Categorysub       | Rank_Categorysub |+----------------+-------------+------------------------+------------------+|            630 |         103 | plus size resortwear1  |                1 ||            625 |         101 | resort wear bali 1     |                1 ||            626 |         101 | resort wear bali 2     |                2 ||            627 |         102 | bali clothing 1        |                1 ||            628 |         102 | bali clothing 2        |                2 ||            629 |         103 | plus size resortwear2  |                2 ||            631 |         104 | bali wholesale1        |                1 ||            632 |         104 | bali wholesale2        |                2 ||            633 |         105 | bali dress 1           |                1 ||            634 |         105 | bali dress 2           |                2 ||            635 |         106 | bali caftan 1          |                1 ||            636 |         106 | balicaftan 2           |                2 |+----------------+-------------+------------------------+------------------+
  1. Table Items
+----------+-------------+----------------+----------------------+----------------------------------------+| ID_Items | ID_Category | ID_Categorysub | Code_Items           | Name_Items                             |+----------+-------------+----------------+----------------------+----------------------------------------+|     2519 |         101 |            625 | jm4828 long kaftan   | long kaftan resort wear dress          ||     2520 |         101 |            625 | jm4828 long kaftan   | juwita moon long kaftan                ||     2521 |         101 |            625 | jm4828 long dress    | jm4828 long tropical resort wear dress ||     2522 |         101 |            625 | jm4828 resort wear   | jm4828 juwita moon bali tropical dress ||     2523 |         101 |            626 | jm4828 long kaftan   | jm4828 long kaftan dress bali          ||     2524 |         101 |            626 | jm4828 kaftan bali   | jm4828 women kaftan bali design        ||     2525 |         101 |            626 | jm4828 bali kaftan   | jm4828 juwita moon bali kaftan design  ||     2526 |         101 |            626 | jm4828 bali resortwe | jm4828 bali resort wear long dress     ||     2527 |         102 |            627 | jm44dm bali women    | jm44dm bali resort wear long dress     ||     2528 |         102 |            627 | jm44dm bali women    | jm44dm resort wear dress bali          ||     2529 |         102 |            627 | jm44dm bali dress    | jm44dm bali long dress design          ||     2530 |         102 |            627 | jm44dm bali dress    | jm44dm women bali dress                ||     2531 |         102 |            628 | jm44dm bali dress    | jm44dm women long dress bali design    ||     2532 |         102 |            628 | jm44dm bali longdres | jm44dm bali long dress design          ||     2533 |         102 |            628 | jm44dm resort wear   | jm44dm resort wear long dress          ||     2534 |         102 |            628 | jm44dm bali caftan   | jm44dm bali caftan                     ||     2535 |         103 |            630 | jm18 plus size bali  | juwitamoon women plus size             ||     2536 |         103 |            630 | jm18 plus size bali  | juwita moon women plus sizes bali      ||     2537 |         103 |            630 | jm7002 bali plus siz | women plus size resort wear bali       ||     2538 |         103 |            630 | jm7002 plus size bal | best plus size caftan bali             ||     2539 |         103 |            629 | jm1333 bali plus siz | juwita moon bali plus size shirt dress ||     2540 |         103 |            629 | jm44dm plus size     | juwita moon plus size long dress       ||     2541 |         103 |            629 | jm18 plus size bali  | made in bali women plus size caftan    ||     2542 |         103 |            629 | jm7002 plus size bal | juwita moon plus size women caftan     |+----------+-------------+----------------+----------------------+----------------------------------------+

I want to show some data from these 3 tables, i use JOIN for that.

This is my query:

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_Items | Name_Items                             | Name_Category    | ID_Categorysub | Name_Categorysub   |+----------+----------------------------------------+------------------+----------------+--------------------+|     2519 | long kaftan resort wear dress          | resort wear bali |            625 | resort wear bali 1 ||     2519 | long kaftan resort wear dress          | resort wear bali |            626 | resort wear bali 2 ||     2520 | juwita moon long kaftan                | resort wear bali |            625 | resort wear bali 1 ||     2520 | juwita moon long kaftan                | resort wear bali |            626 | resort wear bali 2 ||     2521 | jm4828 long tropical resort wear dress | resort wear bali |            625 | resort wear bali 1 ||     2521 | jm4828 long tropical resort wear dress | resort wear bali |            626 | resort wear bali 2 ||     2522 | jm4828 juwita moon bali tropical dress | resort wear bali |            625 | resort wear bali 1 ||     2522 | jm4828 juwita moon bali tropical dress | resort wear bali |            626 | resort wear bali 2 |+----------+----------------------------------------+------------------+----------------+--------------------+

我想显示一些类似的数据,但 ID_Items 中没有双重数据。我尝试使用 DISTINCT 并且得到与上面相同的数据。对于我的情况如何采用最佳方法?

最佳答案

首先,您加入categorycategorysub,然后您可以将items与两者一起加入。

SELECT items.id_items, 
items.name_items,
category.name_category,
categorysub.id_categorysub,
categorysub.name_categorysub
FROM category
JOIN categorysub
ON category.id_category = categorysub.id_category
JOIN items
ON category.id_category = items.id_category
AND categorysub.ID_Categorysub = items.ID_Categorysub
LIMIT 8

但这适用于您有复合主键的情况。

对于您的数据,我假设 ID_Categorysub 是唯一的,因此实际上您只需要:

       JOIN items 
ON categorysub.ID_Categorysub = items.ID_Categorysub

关于mysql - 双数据MySQL JOIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52614151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com