On Tuesday, April 7, 2020 at 11:11:59 AM UTC-7, Marcelo wrote: > > Hello, > > I'm trying to produce this query with Sequel, that would then run on > PostgreSQL: > SELECT o.id, coalesce(cg.price, o.price) price > FROM offers o > LEFT JOIN country_groups cg ON cg.offer_id = o.id AND cg.country_codes @> > '{"US"}' > > You can pass a block to left_join:
DB.from{offers.as(:o)}. select{[o[:id], coalesce(cg[:price], o[:price]).as(:price)]}. left_join(Sequel[:country_groups].as(:cg), :offer_id=>:id){Sequel[:cg][:country_codes].pg_array.contains(["US"])} SQL: SELECT "o"."id", coalesce("cg"."price", "o"."price") AS "price" FROM "offers" AS "o" LEFT JOIN "country_groups" AS "cg" ON (("cg"."offer_id" = "o"."id") AND ("cg"."country_codes" @> ARRAY['US'])) 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 sequel-talk+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sequel-talk/bf8f503c-d05b-4830-a8ce-b5d4f1ab87fa%40googlegroups.com.