Jeremy,
It works, thank you!
As I see, & is a method of Sequel::SQL::BooleanExpression class, and the
results of comparison are objects of this class.
четвер, 2 квітня 2015 р. 18:01:04 UTC+3 користувач Jeremy Evans написав:
>
> On Thursday, April 2, 2015 at 6:51:03 AM UTC-7, Serhii Kharchenko wrote:
>>
>> Hello,
>>
>> Need to realize in ORM manner the next SQL query:
>> SELECT p.*
>> FROM person p
>> JOIN person cl
>> ON p.left_key > cl.left_key AND p.right_key < cl.right_key WHERE cl.id=3;
>>
>> I've tried to do this using block:
>> Person.where(:person__id => 3).join(Sequel.as(:person, :cl)) do |p, cl,
>> js|
>> (Sequel.qualify(p, :left_key) > Sequel.qualify(cl, :left_key) and
>> Sequel.qualify(p, :right_key) < Sequel.qualify(cl, :right_key))
>> end
>>
>> But no success, only the last condition is observed in the result sql:
>> SELECT * FROM "person" INNER JOIN "person" AS "cl" ON ("cl"."right_key" <
>> "person"."right_key") WHERE ("person"."id" = 3)
>>
>> How can I use multiple such comparative conditions?
>>
>
> Use & instead of and:
>
> (Sequel.qualify(p, :left_key) > Sequel.qualify(cl, :left_key)) &
> (Sequel.qualify(p, :right_key) < Sequel.qualify(cl, :right_key))
>
> Thanks,
> Jeremy
>
--
You received this message because you are subscribed to the Google Groups
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sequel-talk.
For more options, visit https://groups.google.com/d/optout.