【发布时间】:2015-01-02 14:46:06
【问题描述】:
我有两个表,都有一个名为Name 的列。有时名称以大写字母开头,而有时则不是。我想在名称上加入这两个表,以便鲍勃与鲍勃相匹配。我假设这可以通过正则表达式实现,那么如何构造一个 SQL JOIN 查询来进行这种匹配,正确的正则表达式是什么?
例如:假设我有 table1:
Name| col1
----------
Bob | a
Jon | b
表2为:
Name| col2
----------
bob| c
Jon| d
我会按如下方式加入他们(xx 是缺少的正则表达式,yy 是正确的选择)
SELECT * , yy as NameWithCapAtFront
FROM table1 as t1
LEFT JOIN table2 as t2
ON xx(t1.Name)=xx(t2.Name)
但这错过了bob 与Bob 的匹配。
此外,如何总是选择大写版本的名称。
【问题讨论】: