select
の一部として関数呼び出しと定数を含み、エイリアスを使用するSequelデータセットを作成する方法を理解しようとしています。私は正しい構文に固執しています。定数の続編フォーマット、関数はselectで呼び出しますか?
私は生のSQLを挿入するのを避けようとしていますが、結果のデータセットを連鎖して生のSQLの中の列の別名を参照できる限り、私はそうします。
私の実際のクエリはもっと複雑です(実際にはsin
を呼び出しているわけではありませんが、これは関数呼び出しの例です)。しかし説明のためにここではSQLで何をしようとしているのかを解説します:
SELECT
0 AS a, -- constant
sin(t.x) AS b, -- function call with aliased column value argument
t.x AS c
FROM
T AS t
;
同等の、無作為なSequelは何ですか?これまでのところ私が持っている:
DB[:T.as(:t)].
select(
#0 as a, # How? constant
#sin(t.x) as b, # How? function call with aliased column value argument
:t__x.as(:c)
)
Cool。 BTW:Sequel式の順序と比較して、結果のSQLでSELECTの順序が保証されていますか?私は 'setseed'がいつも起こるかどうか確認したいと思っています* PostgreSQLの場合' DB [:T ___ t] {setseed(t__id)} {random {}。as(mysort)} ' * randomの前に。 – jwfearn
メソッドの引数((...)内のもの)は、ブロックによって返されるもの({..}内のもの)の前にあります。あなたの場合、両方のブロックを使いたいとします: 'DB [:T ___ t] .select {[setseed(t__id)、random {}。as(mysort)}}' –
'lit'メソッドはここには存在しません。 .. これ、どこから来たの?? – brauliobo