gpt4 book ai didi

mysql - 连接两个表,其条件为 "ON"

转载 作者:行者123 更新时间:2023-11-29 06:35:28 24 4
gpt4 key购买 nike

我有以下两张表

表1

|      id    |  category     |
|------------|---------------|
| 1 | soap |
| 2 | grocery |
| 3 | snacks |
| 4 | vegetables |
| 5 | dairy |
| 6 | clothes |
| 7 | books |
| 8 | shoes |

表2

|      id    |  parent_cat   |      code     |
|------------|---------------|---------------|
| 1 | soap | SHP |
| 2 | clothes | CLTH |
| 3 | snacks | SNCK |
| 4 | books | BOK |
| 5 | others | OTH |

我想以每个类别都会获得一个代码的方式加入他们如果类别不存在于其他表中,它将获得与其他表相对应的代码

期望的结果

|      id    |  category     |      code     |
|------------|---------------|---------------|
| 1 | soap | SHP |
| 2 | grocery | OTH |
| 3 | snacks | SNCK |
| 4 | vegetables | OTH |
| 5 | dairy | OTH |
| 6 | clothes | CLTH |
| 7 | books | BOK |
| 8 | shoes | OTH |

我想要第二个表的整行。我不想使用子查询或任何硬编码,因为它是动态数据,因此“其他”一词在不同的情况下会有所不同。

最佳答案

当没有记录时,您希望在 Table2 上使用 LEFT JOIN,默认 code 值为 'OTH'Table2中找到:

SELECT
t1.id,
t1.category,
COALESCE(t2.code, 'OTH') code,
t2.id
FROM
Table1 t1
LEFT JOIN Table2 t2 ON t1.category = t2.parent_cat

关于mysql - 连接两个表,其条件为 "ON",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54089909/

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