【发布时间】:2019-04-16 07:40:41
【问题描述】:
我在尝试以下查询时收到此错误。我有一个名为 access_groups 的表,一个名为 Companies,还有一个名为 access_group_companies 的连接表。我正在尝试使用 company.name 和 access_groups.name 中的字段使用 AND 逻辑运行搜索。知道是什么原因造成的吗?如果您可能知道运行此搜索的更好方法,那就太好了。
SELECT ag.id, ag.name, c.name
FROM access_groups ag,
companies c
JOIN ag ON ag.id = access_group_companies.access_group_id
WHERE CONCAT(ag.name, c.name) LIKE '%ВТБ%';
【问题讨论】:
-
access_groups和companies的共同列是什么?你在companies表中也有id吗? -
不要混合隐式和显式连接...在任何地方使用现代、显式的
JOIN语法。更容易编写(没有错误),更容易阅读和维护,如果需要更容易转换为外连接! -
你能澄清一下隐式和显式吗?我以为我只是在这里做一个通用的加入
-
最后一部分应该更像“LIKE %Тест ВТБ”...这有问题