ACCESS2000查询 ( 积分: 100 )

  • 主题发起人 主题发起人 XUEPING8
  • 开始时间 开始时间
X

XUEPING8

Unregistered / Unconfirmed
GUEST, unregistred user!
MAIN表字段:SKTNO,JYBH,................
TEMP1表字段:SKTNO,JYBH,.................
两表通过以上两字段关联,MAIN表中记录435条,TEMP1表中记录:437条.
查询语句:SELECT * FROM TEMP1 WHERE SKTNO NOT IN (SELECT SKTNO FROM MAIN) AND JYBH NOT IN (SELECT JYBH FROM MAIN)查不到任何结果,但已经通过关联查到差的记录.为何?
 
SELECT * FROM TEMP1 WHERE SKTNO NOT IN (SELECT SKTNO FROM MAIN) AND JYBH NOT IN (SELECT JYBH FROM MAIN)
发现把AND改成OR 可以查出来,为什么?在SQL,SYBASE,我都是用AND 连呀。
 
ACCESS的SQL语句和SQL SERVER,ORACLE还是有很大差别的!
 
改用外连接就可以了。
如:select * from a left outer join b on a.id=b.id where b.jybh<>''
 
也许是你两个条件中有一个不成立
 
SELECT * FROM TEMP1 WHERE SKTNO+JYBH not in(select SKTNO+JYBH from MAIN)
 
zhengjp的办法很有效。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
875
DelphiTeacher的专栏
D
后退
顶部