允许在连接空行后添加其他数据

Allowing additional data to be added after a join with blank rows

我有一个左连接查询 returns 正确的行数(等于左边 table),但是因为右边 table 是空的,所以有没有对应的rowid。如何将 rowid(RecNum 应该是相同的值)添加到空 table 以便我可以将数据添加到结果数据集中?这是查询:

select
  Week01.RecNum 作为 RecNum,
  Week01.UserName 作为用户名,
  Week01.Day1Reg 作为 Day1Reg,
  Week01.Day1OT 作为 Day1OT,
  Week01.Day2Reg 作为 Day2Reg,
  Week01.Day2OT 作为 Day2OT,
  Week01.Day3Reg 作为 Day3Reg,
  Week01.Day3OT 作为 Day3OT,
  Week01.Day4Reg 作为 Day4Reg,
  Week01.Day4OT 作为 Day4OT,
  Week01.Day5Reg 作为 Day5Reg,
  Week01.Day5OT 作为 Day5OT,
  Week01.Day6Reg 为 Day6Reg,
  Week01.Day6OT 作为 Day6OT,
  Week01.Day7Reg 作为 Day7Reg,
  Week01.Day7OT 为 Day7OT
从
  "Project List"
左连接
  第01周
上
  "Project List".RecNum = Week01.RecNum
和
  Week01.UserName = "JustMe"

或者,如果这真的做不到,那么查询将在 Week01 中预先创建行条目(如果它们尚不存在)以匹配相同的 RecNum 列并将用户名填写为"JustMe"?但是,问题是如果 RecNum 已经存在于 Week01 中,则无法覆盖它。对此有什么想法吗?如果能做到这一点,那么上面的查询应该就可以了。

您实际上可以 select 使用 IFNULL

 SELECT
 IFNULL(Week01.RecNum, "Project List".RecNum
 ..

回答您关于获取项目列表中存在但不在 Week01 中的所有 recNums 的问题 你可以使用 left join

select p.RecNum
from "Project List" p
left join Week01 w
on p.RecNum = w.RecNum
where w.RecNum is NULL

或者您可以使用 not exists 子句

select p.RecNum
from "Project List" p
where not exists
(  select 1 from Week01 w
   where p.RecNum = w.RecNum
)