2011-05-14 101 views
0

我没有从这个查询得到正确的结果。访问sql查询问题

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

您是否尝试过使用UNION ALL?也许在其中一个记录集中有重复的记录。 – 2011-05-14 06:16:12

+0

@fortheworld你应该做出这个答案 – 2011-05-14 06:30:03

+0

@fortheworld:只有两列这样,在保留结果集中的重复内容方面似乎没有什么意义。 – 2011-05-15 09:22:11

回答

1

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

0

它看起来像你的两个查询设置完全相同的标准tb_sno字段(WHERE tb_sno = 1)。因此,如果op和sec_unit在每个查询中具有相同的结果值,则UNION将消除重复行之一。如同世界提到的那样,一个UNION ALL将保留所有重复。