Ответ 1
Чтобы добавить псевдоним sources.id
к другому имени, используйте псевдонимы Идентификатор.
.select_append(:sources__id___source_id).join...
# *, `sources`.`id` AS 'source_id'
Вот мой код для объединения двух таблиц:
DB.from(:sources).join(:payloads, :source_id => :id)
Имена таблиц :sources
, :payloads
.
Проблема в том, что в полезной нагрузке есть столбец :id
, который перезаписывает столбец :id
в :sources
. Мне нужно использовать псевдоним, чтобы я просто получил мега-таблицу со всеми именами столбцов. Однако, как написано в настоящее время и по мере того, как мои таблицы в настоящее время структурированы, столбцы :id
объединяются, а вторая таблица имеет приоритет. Это имеет смысл?
Как создать псевдоним, чтобы столбец :id
из :sources
все еще отображался?
Чтобы добавить псевдоним sources.id
к другому имени, используйте псевдонимы Идентификатор.
.select_append(:sources__id___source_id).join...
# *, `sources`.`id` AS 'source_id'
Я думаю, что это случай, когда использование Sequel graph
поможет вам.
Из документации:
Подобно #join_table, но использует однозначные псевдонимы для выбранных столбцов и сохраняет метаданные о псевдонимах для использования другими способами.
Проблема, которую вы видите, является столбцом с одинаковым именем в одной таблице, сталкивается с тем же именем столбца в другом. Продолжение использования graph
должно гарантировать, что имя таблицы и столбец будут возвращены как ключ, а не только столбец.
В разных файлах документации есть несколько примеров, которые бы дали очень длинный ответ, поэтому я рекомендую просматривать документы, искать их и видеть, как они работают для вас.
Кроме того, IRC-канал Sequel может быть большим преимуществом для подобных вопросов.