Ruby Sequel连接表,但我有重叠的列名。如何为这些列名命名?

Ruby Sequel连接表,但我有重叠的列名。如何为这些列名命名?,ruby,sequel,Ruby,Sequel,下面是我连接两个表的代码: DB.from(:sources).join(:payloads, :source_id => :id) 表名为:sources,:payloads 问题是有效负载中有一个:id列,它覆盖了:sources中的:id列。我需要使用一个别名,以便获得一个包含所有列名的巨型表。但是,由于当前编写的以及“我的表”当前的结构,因此将合并:id列,第二个表优先。这有意义吗 如何制作别名,使:sources中的:id列仍然显示?我认为使用Sequel将对您有所帮助 从文件

下面是我连接两个表的代码:

DB.from(:sources).join(:payloads, :source_id => :id)
表名为
:sources
:payloads

问题是有效负载中有一个
:id
列,它覆盖了
:sources
中的
:id
列。我需要使用一个别名,以便获得一个包含所有列名的巨型表。但是,由于当前编写的以及“我的表”当前的结构,因此将合并
:id
列,第二个表优先。这有意义吗


如何制作别名,使
:sources
中的
:id
列仍然显示?

我认为使用Sequel将对您有所帮助

从文件中:

类似于#join_table,但为选定列使用明确的别名,并保留有关别名的元数据以供其他方法使用

您看到的问题是,一个表中的同名列与另一个表中的相同列名冲突。Sequel使用的
graph
应该确保表名和列作为键返回,而不仅仅是列

各种文档文件都有许多示例,这将是一个非常长的答案,因此我建议您仔细阅读文档,搜索用途,看看它们是如何为您工作的


此外,Sequel IRC频道对于此类问题也非常有用。

要别名
sources.id
要使用其他名称,请使用

.select_append(:sources__id___source_id).join...
# *, `sources`.`id` AS 'source_id'