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'