access外连接中查询的问题!
a表中有所有部门列表,b表中只是有金额的部门列表。
SQL code
SELECT a.部门名称,
b.日期,
b.金额
FROM a
left outer join b
on ( a.部门名称 = b.部门 )
这样写的查询结果,能返回a表中的所有部门,和相关金额日期信息。
但是如果写:
SQL code
SELECT a.部门名称,
b.日期,
b.金额
FROM a
left outer join b
on ( a.部门名称 = b.部门 )
where (b.日期 between :v_date1 and :v_date2 )
加个了日期条件,这时就只返回存在于b中的部门了。外连接就不起作用了。
请问是怎么回事?
------解决方案--------------------
SELECT a.部门名称,
b.日期,
b.金额,
iif((b.日期 between :v_date1 and :v_date2 ),b.金额,0)
FROM a
left outer join b
on ( a.部门名称 = b.部门 )