try:
selcet bmb.bj,xsb.xm xs,nvl(jzb.xm,null) jz
from bmb,xsb,jzb
where bmb.xsdm=xsb.xsdm and bj=2006001 and (bmb.jzdb=jzb.jzdm or bmb.jzdb is null)
selcet bmb.bj,xsb.xm xs,nvl(jzb.xm,null) jz
from bmb,xsb,jzb
where bmb.xsdm=xsb.xsdm and bj=2006001 and (bmb.jzdb=jzb.jzdm or bmb.jzdb is null)
解决方案 »
- 请教ORACLE的别名能不能进行运算。
- 关于数据插入方法的疑问
- 请问 "ORA-01536:space quota exceeded for tablespace 'POST_INDX'"是表示什么,如何解决问题?急!
- 在oracle中求SQL
- 远程连接数据库
- 数据导入???
- oracle8.16里好像没有SQL*Forms,SQL*Loader,SQL*Writer和oracle.reports等工具啊?
- 我下载了9i安装后,发现一奇怪问题???
- 2000 拨号连接到nt 测试net8时提示没有监听器?为什么啊???
- ORA-03113: 通信通道的文件结尾和alert里的 ORA-07445: 出现异常错误
- 同一个sql语句在不同的机器上执行时间相差很大,为什么?
- 删除重装后一直停在D:\oracle8\ora81\bin\lsnrctl start LISTENER,我怎么重装啊?
from bmb,xsb,jzb
where bmb.xsdm=xsb.xsdm and bj=2006001 and (bmb.jzdm=jzb.jzdm or bmb.jzdm is null)不行,得到的结果变成了如下:1 2006001 赵小 赵大
2 2006001 钱晓 钱褡
3 2006001 孙晓 赵大
4 2006001 孙晓 钱褡
5 2006001 孙晓 周大
6 2006001 孙晓 吴大
selcet bmb.bj,xsb.xm xs,jzb.xm jz
from bmb,xsb,jzb
where bmb.xsdm=xsb.xsdm and bmb.jzdb=jzb.jzdm(+) and bj=2006001
selcet bmb.bj,xsb.xm xs,jzb.xm jz from bmb,xsb,jzb where bmb.xsdm=xsb.xsdm and bmb.jzdb=jzb.jzdm(+) and bj=2006001
from bmb
join xsb
on (bmb.xsdm = xsb.xsdm)
left join jzb
on (bmb.jzdm = xsb.jzdm)
最后用
select bmb.bj,xsb.xm xs,jzb.xm jz
from bmb,xsb,jzb
where bmb.xsdm=xsb.xsdm and bmb.jzdm=jzb.jzdm(+) and bj=2006001
搞定了,虽然还是不太明白(+)的具体含义,但我会努力的。:)再次谢谢你们。
selcet bmb.bj,xsb.xm xs,jzb.xm jz
from bmb,xsb,jzb
where bmb.xsdm=xsb.xsdm
and bmb.jzdm=jzb.jzdm(+)
and bmb.bj=2006001