访问sql查询问题

时间:2011-05-14 06:07:56

标签: sql ms-access

我没有从此查询中获得正确的结果。

SELECT Qty as op, 
       0 as secunit 
  FROM tbl_master 
 WHERE tb_sno = 1 
UNION
SELECT main_qty as op,
       main_unit as secunit 
  FROM purchase 
 WHERE tb_sno = 1 
   AND TRN_DATE < #2011/05/14# 
   AND trn_sno2 <> 0 

这显示的实际记录少了一条。有没有办法得到实际的结果

2 个答案:

答案 0 :(得分:1)

您是否尝试过使用UNION ALL?也许在其中一个记录集中存在重复记录。 (让我的评论回答)

答案 1 :(得分:0)

看起来您的两个查询都在tb_sno字段(WHERE tb_sno = 1)上设置了完全相同的条件。因此,如果op和sec_unit在每个查询中具有相同的结果值,则UNION将消除其中一个重复行。 UNION ALL将保留所有重复项,正如世界所提到的那样。