【问题标题】:Compare names of two columns比较两列的名称
【发布时间】:2020-10-05 01:28:58
【问题描述】:

大家好。这是我的问题。在第一张表中,人名用 2 种语言写在两列中。在第二个表中,一列是名称,因此名称是用第一种语言或第二种语言编写的。

如何比较这两个表?我的代码有效吗?

... t.datebirth=p.datebirth and (t.name=p.name1 or t.name=p.name2)

【问题讨论】:

    标签: sql oracle join select where-clause


    【解决方案1】:

    t.datebirth=p.datebirth and (t.name=p.name1 or t.name=p.name2)

    我的代码有效吗?

    根据您提供的有限信息,我理解您的问题:是的,它有效。它检查表p 中的两个名称是否与表t 中的名称相同。

    你可以用in简化逻辑:

    t.datebirth = p.datebirth and t.name in (p.name1, p.name2)
    

    不过,这可能不是一个非常有效的方法。根据您的用例,您可能还需要考虑两个left joins,每个连接一个名称,并在查询的其余部分中附加条件逻辑。但是,如果没有对您的用例的更详细描述,就无法评估这一点。

    【讨论】:

    • 很好解决。我也尝试使用 eft join 。谢谢
    猜你喜欢
    • 1970-01-01
    • 2014-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多