大家好。这是我的问题。在第一个表中,人名用两种语言写在两列中。在第二个表列中,有一个表示名称,因此名称可以是第一种语言或第二种语言。如何比较这两张表?我的代码有效吗?
... t.datebirth=p.datebirth and (t.name=p.name1 or t.name=p.name2)
ar7v8xwq1#
t.datebirth=p.datebirth and (t.name=p.name1 or t.name=p.name2) 我的代码有效吗?我理解你的问题,但你提供的信息有限:是的,它是有效的。它检查表中的两个名称 p 等于表中的名称 t .你可以用 in :
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 join s、 其中一个名称上的每个连接,以及查询其余部分中的附加条件逻辑。但是如果没有更详细的用例描述,就无法对其进行评估。
left join
1条答案
按热度按时间ar7v8xwq1#
t.datebirth=p.datebirth and (t.name=p.name1 or t.name=p.name2)
我的代码有效吗?我理解你的问题,但你提供的信息有限:是的,它是有效的。它检查表中的两个名称
p
等于表中的名称t
.你可以用
in
:不过,这可能不是一个非常有效的方法。根据您的用例,您可能还需要考虑两个
left join
s、 其中一个名称上的每个连接,以及查询其余部分中的附加条件逻辑。但是如果没有更详细的用例描述,就无法对其进行评估。