Двусмысленное именование столбцов в списке выбора - DataMapper for Ruby - PullRequest
1 голос
/ 30 июля 2010

В DataMapper у меня есть такие таблицы:

Foo
===
id            Integer
other_columns Whatever

Fuzz
===
id            Integer
other_columns Whatever

Для ассоциаций:

class Fuzz
  has 1, :foo, :child_key => :id
end

Когда я звоню: Fuzz.first.foo

DataMapper генерируетSQL вроде этого: выберите raw_sql _. * Из (ВЫБЕРИТЕ "ID", "OTHER_COLUMNS", "ID" ИЗ "FOO" ГДЕ ... ORDER BY "ID")

Из-за предложения "ORDER BY", Oracle возвращается, говоря: неоднозначное именование столбцов в списке выбора

Как мне избежать этой ситуации?Это устаревшая система баз данных, поэтому у меня нет возможности изменить схему.

1 Ответ

0 голосов
/ 30 июля 2010

Из вашего поста не понятно, почему вы дважды добавляете ID к внутреннему выбору.Это потому, что вы выбираете идентификаторы из двух таблиц?Затем в списке выбора укажите им имена таблиц и присвойте им псевдонимы по вашему выбору, например

SELECT FOO."ID" AS FOO_ID, "OTHER_COLUMNS", FUZZ."ID" AS FUZZ_ID
FROM FOO, FUZZ
WHERE ...
ORDER BY FOO.ID
...