Hi Jeremy, Thanks for the clarification, and the help. I generally try not to copy and paste code, but in just reading the code I didn't notice that the block after the `from` was substituted with a list of arguments. This works fine.
- Eric On Tue, Dec 4, 2018 at 10:14 AM Jeremy Evans <[email protected]> wrote: > On Tuesday, December 4, 2018 at 9:44:58 AM UTC-8, Eric Promislow wrote: >> >> >> … >>> You could probably try: >>> >>> ProcessModel.db.from(Sequel[:processes].as(:p1), >>> Sequel[:processes].as(:p2)) >>> >>> Thanks, >>> Jeremy >>> >> >> The generated SQL doesn't make sense, for both Postgres and MySQL: >> >> ProcessModel.db.from{[Sequel[:processes].as(:p1), >> Sequel[:processes].as(:p2)]}. >> where{(p1[:app_guid] =~ p2[:app_guid]) & (p1[:created_at] < >> p2[:created_at])}. >> distinct.select{p1[:guid]} >> >> maps to >> >> #<Sequel::Mysql2::Dataset: "SELECT DISTINCT `p1`.`guid` WHERE >> (`processes` AS `p1` AND `processes` AS `p2` AND (`p1`.`app_guid` = >> `p2`.`app_guid`) AND (`p1`.`created_at` < `p2`.`created_at`))"> >> >> I think the problem is the lack of a FROM clause in the query. >> >> This happens with both Postgres and MySQL >> > > I explained in my previous message that the original code I gave was for > the current version of Sequel. Then I gave code at the bottom with > something that will work in Sequel 4. You apparently chose to ignore the > new code fragment (despite quoting it) and responded with the original code > and the SQL generated. > > Maybe it wasn't obvious how to integrate the code fragment I gave for > Sequel 4 into the original code? I guess a more complete example may be > helpful to you. Please try this: > > ProcessModel.db.from(Sequel[:processes].as(:p1), > Sequel[:processes].as(:p2)). > where{(p1[:app_guid] =~ p2[:app_guid]) & (p1[:created_at] < > p2[:created_at])}. > distinct. > select{p1[:id]} > > Thanks, > Jeremy > > -- > You received this message because you are subscribed to a topic in the > Google Groups "sequel-talk" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/sequel-talk/wVuTgcCk2gw/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/sequel-talk. > For more options, visit https://groups.google.com/d/optout. > -- 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 https://groups.google.com/group/sequel-talk. For more options, visit https://groups.google.com/d/optout.
