【发布时间】:2021-09-24 09:02:11
【问题描述】:
我的数据库有 3 个表,如下所示: 第一个表是 渠道: 编号 |姓名 |链接 | group_id
第二张表是: 组: 编号 |集团 |状态
我正在尝试查询:
选择 channels.id、channels.group_id、channels.name、channels.link、 group.group FROM 通道 AS 通道 LEFT JOIN 组 AS 组 ON channels.group_id = group.id
即使我没有像这样尝试过(AS):
选择 channels.id、channels.group_id、channels.name、channels.link、 group.group FROM channels LEFT JOIN group ON channels.group_id = group.id
但我得到的只是
选择 channels.id、channels.group_id、channels.name、channels.link、 group.group FROM 通道 AS 通道 LEFT JOIN 组 AS 组 ON channels.group_id = group.id
1064 - 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以了解要使用的正确语法 第 3 行的“group AS group ON channels.group_id = group.id”附近 时间:0s
有人可以告诉我我的查询有什么问题吗?
非常感谢@Akina,问题是我为我的表组使用了保留字,我只是更改了名称,现在一切正常。 问候
【问题讨论】:
-
JOIN group AS group-AS group不属于这里。还有FROM channels AS channels. -
谢谢,但我尝试过使用 (AS) 和不使用它,两者都给出了相同的结果。这里再试一次,SELECT channels.id, channels.group_id, channels.name, channels.link, group.group FROM channels LEFT JOIN group ON channels.group_id = group.id
-
GROUP是保留字。用反引号引用它或重命名表(首选)。 -
是的,正如@Akina 所说,
GROUP是GROUP BY的一部分,所以你的表名很不幸。 -
非常感谢@Akina;在两个小时的挣扎之后,你成就了我的一天 ::: :-)
标签: mysql