内部连接语句似乎不起作用

时间:2016-04-04 09:18:19

标签: sql

我有一个似乎不起作用的简单SQL语句。我希望表匹配表匹配match_team(" match_id")(" id")。

因此我写了以下INNER JOIN STATEMENT

 SELECT * FROM match_team INNER JOIN match ON match_team.match_id = match.id

然而,这会引发错误。关于这里可能出现什么问题的任何想法?

5 个答案:

答案 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匹配ON match_team.match_id = match.id

辅助要避免冲突表使用别名...请参阅下文,例如: :

使用[您的数据库名称] 走 SELECT * FROM match_team INNER JOIN匹配B ON A.match_id = B.id

或使用以下架构开始寻址:dbo.match_team.match_id = dbo.match.id