【发布时间】:2016-06-17 12:46:03
【问题描述】:
我有以下用 SQL 编写的查询:
Select *
From npt_articles
Inner Join npt_authors
Inner Join users
Inner Join npt_teams
Where npt_teams.id In (1)
以及后续gem生成的以下sql:
SELECT *
FROM `npt_articles`
INNER JOIN `npt_authors`
INNER JOIN `users`
INNER JOIN `npt_teams`
WHERE ('npt_teams.id' IN (1))
第一个返回结果,第二个不返回,如果我删除反引号,那么第二个会生成与第一个相同的结果。
这是生成第二个 sql 的代码:
team_articles = user.npt_teams.to_a.inject({}) {|arts,team|
arts.merge({ team.name =>
NptArticle.join(:npt_authors).join(:users).join(:npt_teams).where('npt_teams.id' => [team.id]).to_a.uniq})
}
如何生成不带反引号的查询?
【问题讨论】:
-
你确定问题是反引号,而不是
WHERE ('npt_teams.id' IN (1))?反引号不应该导致问题 - 但是单引号应该。 -
好的,那么我如何获得续集以生成不带引号的内容呢?
-
不能帮你,很遗憾。我对
sequel一无所知。
标签: mysql sql ruby sequel ruby-1.8.7