我有一个似乎不起作用的简单SQL语句。我希望表匹配表匹配match_team(" match_id")(" id")。
因此我写了以下INNER JOIN STATEMENT
SELECT * FROM match_team INNER JOIN match ON match_team.match_id = match.id
然而,这会引发错误。关于这里可能出现什么问题的任何想法?
答案 0 :(得分:1)
您可以使用双引号来避免关键字。
SELECT * FROM match_team INNER JOIN "match" ON match_team.match_id = "match".id
答案 1 :(得分:0)
避免冲突使用表与数据库名称的最佳方法。假设您的数据库是“主”
SELECT * FROM Master.match_team INNER JOIN Master.match ON Master.match_team.match_id = Master.match.id
答案 2 :(得分:0)
SELECT *
FROM match_team a
INNER JOIN [match] b ON a.match_id = b.id
答案 3 :(得分:0)
问题是match
是你的RDBMS中的保留字,你没有指定你的RDBMS,它真的依赖它,但尝试其中一个:
SELECT * FROM match_team INNER JOIN `match` ON match_team.match_id = `match`.id
SELECT * FROM match_team INNER JOIN "match" ON match_team.match_id = "match".id
我不知道任何使用其他字符保留字的SQL语言
答案 4 :(得分:0)
首先检查您使用的是数据库而不是“主”数据库...
使用Ctrl + u访问可用数据库dropdownList或尝试:
使用[您的数据库名称] 去
辅助要避免冲突表使用别名...请参阅下文,例如: :
使用[您的数据库名称] 走 SELECT * FROM match_team INNER JOIN匹配B ON A.match_id = B.id
或使用以下架构开始寻址:dbo.match_team.match_id = dbo.match.id