【发布时间】:2014-12-28 19:34:24
【问题描述】:
假设我有两个表:table1如下
Name |Surname| col1
------------------------
Bob |Smith | BS1
Mary Jane|Jones | MJ1
和table2如下:
Name |Surname | col2
------------------------------
Bob |Keller Smith | BS2
Mary |Jones | MJ2
我想要将这些连接在一起以获得:
Name |Surname | col1| col2
-------------------------------------
Bob |Keller Smith | BS1 | BS2
Mary |Jones | MJ1 | MJ2
我试过了:
SELECT tableb.Name, tableb.Surname, tablea.col1, tableb.col2
FROM table1 as tablea
LEFT JOIN table2 as tableb
ON '%'+tablea.Name+'%' LIKE '%'+tableb.Name+'%' AND '%'+tablea.Surame+'%' LIKE '%'+tableb.Surame+'%'
但这些似乎加入了一切。
如何使用通配符正确连接列?
【问题讨论】:
-
你想要一个 INNER JOIN。
-
@Tomalak 我刚试了一下,得到了相同的输出。
-
(i)
LIKEs 左侧的'%'很可能是多余的(充其量) - 但绝对不会被LIKE运算符评估为占位符。 (ii) “Bob”前面的空格是故意的吗?