带通配符的SQL连接表(MS Access)

斯托

我如何使用通配符将以下表格联接在一起?我想从People表中获取所有不同的行,该表包含SearchedPeople表中的SearchedName。

搜索到的人:

SearchedName             
--------  
Andrew
John
John Smith 

人们:

ID  PersonName      Attribute      Age
----------------------------------------
1   John Smith          1           23
2   John Smith Jr       3           25
3   John Smith Jr II    4           73
4   Kevin               2           21
5   Andrew Smith        1           14
6   Marco               5           90

所需的输出:

PersonName      Attribute      Age
----------------------------------------
John Smith          1           23
John Smith Jr       3           25
John Smith Jr II    4           73
Andrew Smith        1           14

到目前为止,我得到的代码并不令人担忧。它返回三个空行(为什么?)。

 SELECT b.PersonName, b.Attribute, b.Age
 FROM SearchedPeople a
 LEFT JOIN People b ON "%"&a.SearchedName&"%" like b.PersonName 
马特

它返回三个空行,因为您没有表a(SearchedPeople)中的任何列,并且LEFT JOIN没有产生匹配项。

原因是您的条件以错误的顺序搜索PersonName,因此%Searchedname%您需要在字符串中进行切换。另外,除非您对MS-Access的查询或配置进行了一些更改,否则Access不会像通配符的星号*一样喜欢请参阅Parafait的以下注释。

我刚刚测试了这个:

 SELECT a.SearchedName
       ,b.PersonName, b.Attribute, b.Age
 FROM
      SearchedPeople a
       LEFT JOIN People b
       ON  b.PersonName  LIKE ("*" &  a.SearchedName & "*")

编辑:

好女士从@Parafait的评论中获取特定信息,以防万一每个评论都被删除。

使用ALIKE,百分比工作。而且,如果OP通过OLEDB连接到MS Access,而不是通过GUI .exe程序连接到MS Access,则对于编码SQL中的LIKE语句,%操作符是必需的。OP还可以将数据库设置更改为ANSI-92模式,以始终使用%通配符。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带VBA的MS Access链接表

来自分类Dev

MS ACCESS SQL连接语法

来自分类Dev

MS Access SQL连接性能改进

来自分类Dev

通过Access连接到SQL Server后端的MS Access?

来自分类Dev

与MS Access建立连接

来自分类Dev

与MS Access建立连接

来自分类Dev

MS Access - 通过多个连接表求和的查询

来自分类Dev

MS Access SQL错误

来自分类Dev

SQL Server 2012 Express连接到MS Access 2010

来自分类Dev

MS Access对Azure SQL Server 2012的连接字符串

来自分类Dev

MS Access对Azure SQL Server 2012的连接字符串

来自分类Dev

MS Access 多个左连接

来自分类Dev

使用SQL查询在MS Access中获取表结构?

来自分类Dev

将表从SQL Server导出到MS Access

来自分类Dev

在两个表上的MS ACCESS SQL查询

来自分类Dev

MS Access SQL-从5个表中搜索

来自分类Dev

ms-access SQL链接工作表行顺序保留

来自分类Dev

MS Access SQL查询表并删除重复项

来自分类Dev

3表联接的MS Access VB SQL语法

来自分类Dev

使用SQL查询在MS Access中获取表结构?

来自分类Dev

在MS ACCESS 2010中创建表-使用Oracle SQL查询

来自分类Dev

从MS Access更新SQL Server中的表的列

来自分类Dev

MS Access SQL-从5个表中搜索

来自分类Dev

MS Access:来自SQL Server的只读链接表?

来自分类Dev

比较 MS Access SQL 查询中的两个表

来自分类Dev

MS Access 链接表到 SQL Server

来自分类Dev

MS Access中的临时表

来自分类Dev

MS ACCESS交叉表数据

来自分类Dev

MS Access表写入冲突