关于大表和小表关联的数量丢失问题

lisen101 2003-10-20 12:17:26
以下是举例说明:
大表:a 30000条,字段 item,qty
小表:b 10000条,字段 item,price

语句: select distinct a.item,a.qty,b.price
from a,b where a.item=b.item

这时,只能搜出来《10000条的纪录,因为有些item在b表里是不存在的!

我希望结果为:30000条,如果price不存在,则为0

请高手指点!
...全文
45 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ATCG 2003-10-20
  • 打赏
  • 举报
回复
这样才对
select distinct a.item,a.qty,decode(b.price,null,0,b.price)
from a,b where a.item=b.item(+)
ATCG 2003-10-20
  • 打赏
  • 举报
回复
select distinct a.item,a.qty,decode(b.price,null,0)
from a,b where a.item=b.item(+)
ATCG 2003-10-20
  • 打赏
  • 举报
回复
select distinct a.item,a.qty,b.price
from a,b where a.item=b.item(+)
shuangyu 2003-10-20
  • 打赏
  • 举报
回复
select a.item,a.qty,decode(b.price,null,0)
from a,b where a.item=b.item(+)
lisen101 2003-10-20
  • 打赏
  • 举报
回复
我一般都用 nvl(b.price,0)

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧