多表的模糊查询问题,具体需求见内容

数据库:ACCESS

语句:
SELECT *
FROM (SELECT 名称 as nsr, SUM(面积) AS a FROM 汇总 GROUP BY 名称) AS AA , (SELECT 权利人 as nsr, SUM(面积) AS b FROM 整理 GROUP BY 权利人) AS BB where AA.nsr like '*BB.nsr*'

以上语句把LIKE换成=可以查询出正确数据,但是我想要模糊查询,换成LIKE就查不到数据。

需求:
汇总表和整理表,两表中名称字段中都有多条同名不同面积的记录。
需要查询出两个表中名称近似的匹配项。

只会mysql数据库 你把*改成%试试

'*'+BB.nsr+'*'

https://blog.csdn.net/wangqiuyun/article/details/8447074

改成 AA.nsr like cancat('%',BB.nsr,'%')

你的这个需求用这个语句是实现不了的。你现在写的sql根本就没有关联条件,也就是说你的AA和BB关联结果是笛卡尔积输出的。输出之后你在where里通过限制AA表的数据来限制整个输出的结果,你明白我的意思吗。
你要找到那个近似的匹配项,首先你得有一个“近似”的标准,说白了就是什么样的数据才算是“近似”,最好是通过自定义函数来实现。