gpt4 book ai didi

mysql - 如何连接两个没有主键或唯一键的表?

转载 作者:行者123 更新时间:2023-11-29 07:59:35 26 4
gpt4 key购买 nike

我有两个名为 LocalVSDB 和 TemporaryVSDB 的表。两个表都有相同的列:

  LocalVSDB: msisdn,activateDate
TemporaryVSDB: msisdn,activateDate

但是两个表也有 MSIDSN 的重复行

我需要连接这两个表。我的预期结果如下所示:

    MSISDN     LocalActivateDate    TemporaryActivateDate Datediff
60103820251 2013-12-14 2013-10-05 70
601111000254 2013-12-14 2013-10-05 70
601111000254 2013-12-18 2013-09-10 80

但是,由于存在重复的 MSIDSN,因此当我加入时会收到重复的行。例如,每个表中的某些 MSISDN 有 6 行,因此当我加入时,我将获得该 MSISDN 的总共 36 行。

我使用以下查询加入:

   SELECT t.msisdn,t.activateDate AS VSDB_Activate_Date,
l.activateDate AS Local_Activate_Date,
DATEDIFF(D,l.activateDate,t.activateDate) AS date_Diff
FROM temporaryVSDB2 t
INNER JOIN LocalVSDB l ON t.msisdn = l.msisdn
WHERE t.activateDate > l.activateDate

请帮助我如何为 6 个 MSISDN 获取 6 行?

提前致谢。

最佳答案

问题是:

where  t.activateDate >  l.activateDate

这意味着表一中的一行可以连接到表二中的所有六行。您需要将其更改为 = 或仅根据特定条件从第二个表中获取一行。

关于mysql - 如何连接两个没有主键或唯一键的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24210112/

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