Office中国论坛/Access中国论坛

标题: 联合查询的反向查询怎么做? [打印本页]

作者: olive_fy    时间: 2009-2-16 13:17
标题: 联合查询的反向查询怎么做?
本帖最后由 olive_fy 于 2009-2-16 13:20 编辑

联合查询是两个表或查询取并集,如果是从一个表里面减掉另一个表的数据,该怎么做查询?
如附件是个仓库的出入表,有个PRO字段(有入库、发货等内容),想要用SQL语句写个查询,把那些已经入库但还没有发货的记录查询出来,该怎么写呢?

谢谢!
作者: 361009361    时间: 2009-2-16 14:08
有 难度~~~~~~
作者: asklove    时间: 2009-2-16 14:52
你的意思是不是把 发货 的记录剔除?

SELECT tbFG.*
FROM tbFG
WHERE (((tbFG.PRO) Not In ('发货')));
作者: asklove    时间: 2009-2-16 14:56
如果你想把 入库 也剔除掉 WHERE改为
WHERE (((tbFG.PRO) Not In ('发货','入库')))
作者: ACMAIN_CHM    时间: 2009-2-16 15:47
select *
from tbFG a
where a.PRO='入库' and not exists (select id from tbFG where LOT=a.LOT and PRO='发货')




******************
*  一切皆有可能  *
******************

.

.
QQ群 48866293 / 12035577 / 7440532 / 13666209
http://forum.csdn.net/BList/OtherDatabase .
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.access-programmers.co.uk/forums .
http://www.office-cn.net .
.
http://www.office-cn.net/home/space.php?uid=141646 .
作者: olive_fy    时间: 2009-2-16 17:51
5# ACMAIN_CHM

非常感谢您的帮助,问题解决!
作者: olive_fy    时间: 2009-2-17 12:58
5# ACMAIN_CHM
用 NOT IN 语句也挺好,请看下面的语句
SELECT *
FROM TbFG
WHERE ((TbFG.PRO="入库") and  (TbFG.lot NOT IN (select lot from TbFG where(TbFG.PRO="发货"))))




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3