表u_dw是单位表 其主要字段有 dwmc(单位名称) dwbh(单位编号)
*表V_NDXX是年度信息表,一个单位可在此表中有多条年度信息记录,其主要字段有dwbh和u_dw表中的dwbh对应
*表T_YDXX是月度信息表,一个单位可在此表中有多条月度信息记录,其主要字段有dwbh和u_dw表中的dwbh对应
*表T_XQXX是每个星期的信息表,一个单位可在此表中有多条星期信息记录,其主要字段有dwbh和u_dw表中的dwbh对应需求:
查询出u_dw单位表中每个单位在下面三张表中出现的次数。
结果如下显示:
单位名称    年度次数    月度次数   星期次数小弟先是进行了select u.dwmc,count(a.dwbh),count(b.dwbh) from u_dw u,
(select * from V_NDXX)a,
(select * from T_YDXX)b
where 
u.dWbh=a.dwbh(+) and u.dWbh=b.dwbh(+) 查询结果正常。
如下:但是,如果三张表一起进行左边连接查询,发现结果是不正确的。select u.dwmc,count(a.dwbh),count(b.dwbh),count(c.dwbh) from u_dw u,
(select * from V_NDXX)a,
(select * from T_YDXX)b,
(select * from T_XQXX)c
where 
u.dWbh=a.dwbh(+) and u.dWbh=b.dwbh(+) and u.dWbh=c.dwbh(+)查询结果不正常
如下:
求大神!!!大致是这么个意思,我想问的是是否是因为这4个表进行了左外连接才出现查询结果不正确的情况。

解决方案 »

  1.   

    几个表列出点基本数据吧  然后看到这 (select * from V_NDXX)a菊花一紧 不能直接写成V_NDXX a么 蛋蛋的忧伤
      

  2.   

    试试这个:select u.dwmc,count(a.dwbh),count(b.dwbh) from u_dw u
    left join V_NDXX a on u.dwbh=a.dwbh
    left join T_YDXX b on a.dwbh=b.awdh
    ;
      

  3.   

    select u_dw.dwmc,count(v_ndxx.dwbh),count(t_ydxx.dwbh),count(t_xqxx.dwb) from u_dw
    left join v_ndxx on u_dw.dwmc=v_ndxx.dwbh
    left join t_ydxx on u_dw.dwmc=t_ydxx.dwbh
    left join t_xqxx on u_dw.dwmc=t_xqxx.dwb)