【问题标题】:Can't join and select in Sequel -- PG::SyntaxError无法在 Sequel 中加入和选择 -- PG::SyntaxError
【发布时间】:2018-11-20 11:30:41
【问题描述】:

我正在尝试重命名加入时的列:

    # ...............

    result = DB[:my_items1].join(:my_items2, id: :my_item2_id).
          select([Sequel[:my_items2][:name].as(:my_items_name), 
                  Sequel[:my_items2][:amount].as(:my_item2_amount)
          ])

    # ...............

例外:

Sequel::DatabaseError - PG::SyntaxError: ERROR:  syntax error at or near "AS"
LINE 1: SELECT ("my_items2"."name" AS "my_item2_name", "...
                                         ^
:

【问题讨论】:

  • 你的整个 SQL 语句是什么?我猜这是与 Postgres 冲突的子选择中的别名......

标签: sql ruby database postgresql sequel


【解决方案1】:

Dataset#select 接受多个参数,而不是单个数组:

result = DB[:my_items1].join(:my_items2, id: :my_item2_id).
      select(Sequel[:my_items2][:name].as(:my_items_name), 
              Sequel[:my_items2][:amount].as(:my_item2_amount)
      )

【讨论】:

    猜你喜欢
    • 2018-07-21
    • 1970-01-01
    • 2014-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-31
    • 1970-01-01
    相关资源
    最近更新 更多