You probably want to join first on the FK-PK pair of columns, then filter on the desired attributes:
let result = query {
for fkRow in db.FkTable do
join pkRow in db.PkTable on (fkRow.FkColumn = pkRow.PkColumn)
where (pkRow.IsComplete = false)
select fkRow
}
In the rare case where you want a full join (cartesian product of the two tables), you can do this:
let result = query {
for fkRow in db.FkTable do
join pkRow in db.PkTable on (1 = 1)
where (pkRow.IsComplete = false)
select fkRow
}
, or use the query the OP suggested. In this case however, for the latter query to be useful, you'd need to select something from pkTable
as well.