我的SQL:http://sqlfiddle.com/#!9/350efb/3
我试图左联接两个表,并在查询中过滤它们的值。但是,第二个表中的行与第一个表中的行不匹配。如果缺少行,我想返回NULL
。
预期结果是:
oid bid name oid uid value
1 1 Book 1 Name 1 1 1 User 1 OID 1
2 1 Book 1 Name 2 NULL NULL NULL
3 1 Book 1 Name 3 NULL NULL NULL
4 1 Book 1 Name 4 NULL NULL NULL
5 1 Book 1 Name 5 5 1 User 1 OID 5
但是,在链接中看到的实际结果中,我只有两行。我所有带有NULL的行都没有返回。
问::如何实现我的预期输出?我尝试添加OpeningUser.uid is NULL
,但是没有用。
我当前的查询是:
select * from Opening
LEFT JOIN OpeningUser ON Opening.oid = OpeningUser.oid
WHERE Opening.bid=1 AND (OpeningUser.uid=1 OR OpeningUser.uid is NULL)
ORDER BY Opening.oid