У меня есть отношение «один-много» между двумя таблицами (имя пользователя: string group: integer) и Relationship (source: integer, target: integer, value: integer). Они связаны так, что userid = relatioship.source.Ошибка синтаксиса в запросе базы данных rails
Я пытаюсь получить некоторые JSON из него, так что я написал:
def self.including_relationships
User.joins("INNER JOIN relationships ON users.id = relationships.source").select("users.name, users.group, relationships.source, relationships.target, relationships.value").each_with_object(Hash.new{|h, k| h[k] = []}) do |a, obj|
obj['nodes'] << a.slice('name','group')
obj['links'] << a.slice('source', 'target', 'value')
Однако я получаю ошибку
SQLite3::SQLException: near "group": syntax error: SELECT users.name, users.group, relationships.source, relationships.target, relationships.value FROM "users" INNER JOIN relationships ON users.id = relationships.source
, когда я удаляю users.group и «группы» в срез, он отлично работает.
Я проверил мою схему базы данных, которая выглядит следующим образом:
ActiveRecord::Schema.define(version: 20150603200530) do
create_table "relationships", force: true do |t|
t.integer "source"
t.integer "target"
t.integer "value"
end
create_table "users", force: true do |t|
t.string "name"
t.integer "group"
end
end
Таблицы все населенные, как они должны быть. Я не могу понять, что такое синтаксическая ошибка.
Почему тег MySQL? – jarlh