> (select-dao 'foo-db-name (:in 'foo.id (:set (flatten (query "SELECT DISTINCT > foo.id FROM foo_member INNER JOIN foo_show ON (foo_member.id = > foo_show.member_id) INNER JOIN foo_series ON (foo_show.series_id = > foo_series.id) WHERE foo_series.year = 2011))))
Ouch! You could express the IN test using a subquery to save a round-trip, but beyond than that there's not much hope of making this look sane. I think this should work (untested): (select-dao 'foo-db-name (:in 'foo.id (:raw "(SELECT DISTINCT foo.id FROM foo_member INNER JOIN foo_show ON (foo_member.id = foo_show.member_id) INNER JOIN foo_series ON (foo_show.series_id = foo_series.id) WHERE foo_series.year = 2011)"))) (Also, your flatten function is probably something like mapcar #'car, which you can more easily do by passing the query macro a second argument of :column) _______________________________________________ postmodern-devel mailing list postmodern-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/postmodern-devel