[Ur] checking for equality between optional and non-optional values in queries
Adam Chlipala
adamc at csail.mit.edu
Sun Jul 19 09:40:23 EDT 2015
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)})
More information about the Ur
mailing list