gpt4 book ai didi

mysql - 将 2 个 SQL 表与特定条件进行匹配

转载 作者:行者123 更新时间:2023-11-29 15:44:40 25 4
gpt4 key购买 nike

嗨,假设我有 2 张 table -

表1

+-------+-------+-------+
| Col-1 | Col-2 | Col-3 |
+-------+-------+-------+
| X1 | a | XX1 |
+-------+-------+-------+
| X2 | b | XX2 |
+-------+-------+-------+
| X3 | c | XX3 |
+-------+-------+-------+

和表2

+--------+--------+
| Col-21 | Col-22 |
+--------+--------+
| a | YY1 |
+--------+--------+
| c | YY2 |
+--------+--------+

现在我想用下面的方案合并这两个表

  1. 将第一个表的 Col-2Col-21 与第二个表匹配
  2. 如果找到匹配项,则创建一个值为 Col-22 的新列
  3. 如果未找到匹配项,则 Col-2 的值将放置在该新列中

所以我的结果表将是

+-------+-------+-------+-------+
| Col-1 | Col-2 | Col-3 | Col-4 |
+-------+-------+-------+-------+
| X1 | a | XX1 | YY1 |
+-------+-------+-------+-------+
| X2 | b | XX2 | b |
+-------+-------+-------+-------+
| X3 | c | XX3 | YY2 |
+-------+-------+-------+-------+

我想使用 SELECT 命令获取整个新表。

任何指针将是什么SQL查询来实现这一点?

最佳答案

我认为您正在用coalesce()描述left join:

select t1.*, coalesce(t2.col22, t1.col2) as col4
from table1 t1 left join
table2 t2
on t1.col2 = t2.col21;

关于mysql - 将 2 个 SQL 表与特定条件进行匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57200375/

25 4 0
文章推荐: javascript - 选择html表的一些行,并在单击链接时将所选行的一列的值发送到另一个php页面
文章推荐: javascript - 在 Rails 中禁用 Javascript 变量重命名
文章推荐: javascript - 在
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com