gpt4 book ai didi

Sqlite 在连接中合并列

转载 作者:行者123 更新时间:2023-12-03 19:33:26 24 4
gpt4 key购买 nike

我有两张 table :

电子邮件

raw_id | email | score

1, email1, 1
1, email2, 2
2, email3, 3
3, email4, 4

合并
raw_id1 | raw_id2

1, 2

我怎样才能进行查询,为每个不同的 row_id 显示一行最高 score , 如果两个 raw_id合并后,它们将被视为同一个。

所以对于上述数据,这是我的预期结果:
select score, email from emails join...
  • 3、邮箱3
  • 4、邮箱4
  • -

    最佳答案

    SELECT MAX(e1.raw_id, COALESCE(e2.raw_id, -1)),
    MAX(e1.email),
    MAX(MAX(e1.score, COALESCE(e2.score, -1)))
    FROM emails e1 LEFT JOIN merged m
    ON e1.raw_id = m.raw_id1
    LEFT JOIN emails e2
    ON e2.raw_id = m.raw_id2
    GROUP BY MAX(e1.raw_id, COALESCE(e2.raw_id, -1))

    请点击以下链接查看正在运行的演示:

    SQLFiddle

    请注意,此演示适用于 MySQL,因为 Fiddle 不提供 SQLite 选项。我必须对查询进行的唯一更改是替换 SQLite 的标量 MAX MySQL 的 GREATEST 的函数功能。

    关于Sqlite 在连接中合并列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38299078/

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