Thank you! The SQL function was the missing piece. I had tried sql_nullable without the SQL call but was getting an “Unbound structure” error.
> On Jul 19, 2015, at 9:40 AM, Adam Chlipala <[email protected]> wrote: > > On 07/19/2015 07:20 AM, Todd Roth wrote: >> Another newbie question… How do you check for equality between optional and >> non-optional columns in different tables when doing join queries? The >> following exampleQ query does not compile. I get the errors shown in [1] >> >> >> table table2 : { Id : int, SomeVal : string} >> PRIMARY KEY Id >> >> table table1 : { Id : int, Table2Val : option int } >> PRIMARY KEY Id, >> CONSTRAINT Table2Val FOREIGN KEY Table2Val REFERENCES table2(Id) >> >> fun exampleQ () = queryL (SELECT * FROM table1 LEFT JOIN table2 ON >> table1.Table2Val = table2.Id) > > Here's the simple fix: > > fun exampleQ () = queryL (SELECT * FROM table1 LEFT JOIN table2 > ON table1.Table2Val = {sql_nullable (SQL > table2.Id)}) > > > _______________________________________________ > Ur mailing list > [email protected] > http://www.impredicative.com/cgi-bin/mailman/listinfo/ur _______________________________________________ Ur mailing list [email protected] http://www.impredicative.com/cgi-bin/mailman/listinfo/ur
