我的数据库有3个表如下:第一张表格是:Id | name | link | group_id
第二表为:组:Id | group | gstatus
我正在尝试做一个查询:
选择频道。id、渠道。Group_id, channels.name, channels.link,组。组从通道作为通道左加入组作为组ON频道。Group_id = group.id
即使我没有尝试(AS)这样:
选择频道。id、渠道。Group_id, channels.name, channels.link,组。group FROM channels LEFT JOIN group ON channelsgroup_id =group.id
但是我得到的都是
选择频道。id、渠道。Group_id, channels.name, channels.link,组。组从通道作为通道左加入组作为组ON频道。Group_id = group.id
1064 -你有一个错误的SQL语法;检查与MariaDB服务器版本对应的手册,以获得正确的语法近组AS组ON频道。Group_id = group。我在第三行时间:0
所以也许有人能告诉我我的查询有什么问题?
非常感谢@Akina,问题是我为我的表组使用了保留词,我刚刚更改了名称,现在一切都好了。关于
SELECT channels.id,
channels.group_id,
channels.name,
channels.link,
group.group
FROM channels AS channels
LEFT JOIN `group` AS `group`
ON channels.group_id = group.id
使用这个反号(')
没有必要写
JOIN group AS group
或FROM channels AS channels
,因为AS
的唯一目的是定义别名。如果您想引用原始表名,则只需省略AS
:
SELECT channels.id, channels.group_id, channels.name, channels.link, group.group FROM channels
LEFT JOIN `group` ON channels.group_id = group.id
UPD和group
必须加引号,因为它是一个保留字