left outer join 问题

lovepp2004 2007-04-28 06:07:46
select Salesinvoices.SalesInvoiceID,SalesInvoiceItems.SalesInvoiceItemID,Salesinvoices.Companyid,Salesinvoices.Departmentid,Salesinvoices.Payer,Salesinvoices.Billdate,SalesinvoiceItems.Materialid,Salesinvoices.Employeeid,SaleQuantity,TaxInPrice,TaxInValue,TaxControlCode,
0,0,0,0,Arapclearitems.*
from SalesInvoiceItems
inner join SalesInvoices on SalesInvoices.Salesinvoiceid=SalesInvoiceItems.Salesinvoiceid
left outer join ARAPClearItems
inner join ARAPClears on ARAPClears.Clearid =ARAPClearItems.Clearid
on nvl(ARAPClearItems.ARAPbillID,' ') =SalesInvoiceItems.Salesinvoiceid and nvl(ARAPClearItems.BillItemID,' ')=SalesInvoiceItems.SalesinvoiceItemID and nvl(ARAPClearitems.Invsign,' ') = '1'
where companyid='010101' and substring(billdate,1,6)='200703' and payer='00001964'
为什么与
select Salesinvoices.SalesInvoiceID,SalesInvoiceItems.SalesInvoiceItemID,Salesinvoices.Companyid,Salesinvoices.Departmentid,Salesinvoices.Payer,Salesinvoices.Billdate,SalesinvoiceItems.Materialid,Salesinvoices.Employeeid,SaleQuantity,TaxInPrice,TaxInValue,TaxControlCode,
0,0,0,0,Arapclearitems.*
from SalesInvoiceItems
inner join SalesInvoices on SalesInvoices.Salesinvoiceid=SalesInvoiceItems.Salesinvoiceid
left outer join ARAPClearItems

on nvl(ARAPClearItems.ARAPbillID,' ') =SalesInvoiceItems.Salesinvoiceid and nvl(ARAPClearItems.BillItemID,' ')=SalesInvoiceItems.SalesinvoiceItemID and nvl(ARAPClearitems.Invsign,' ') = '1'
where companyid='010101' and substring(billdate,1,6)='200703' and payer='00001964'
执行结果不一样?下面的可以出来六条纪录。但是上面的没有纪录?就是因为left outer join没有匹配上吗?但是left outer join 不应该影响纪录的条数吧~
...全文
377 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovepp2004 2007-06-05
  • 打赏
  • 举报
回复
自己搞定了。呵呵
yjlhch 2007-05-28
  • 打赏
  • 举报
回复
这也太长了吧
hongqi162 2007-05-28
  • 打赏
  • 举报
回复
左关联,右关联搞清楚,出了问题也没有大问题,仔细调试一下吧
hongqi162 2007-05-28
  • 打赏
  • 举报
回复
太长,up
xiangsu 2007-05-28
  • 打赏
  • 举报
回复
太长,up
DBA_DREAM 2007-05-28
  • 打赏
  • 举报
回复
内、外,左、右关联
tiaodongdeyinfu 2007-05-28
  • 打赏
  • 举报
回复
好好看看内、外,左、右关联的区别吧.再看看SQL语句的优化问题.
tiaodongdeyinfu 2007-05-28
  • 打赏
  • 举报
回复
上面的语句有问题:
inner join ARAPClears ON ARAPClears.Clearid =ARAPClearItems.Clearid

ON

nvl(ARAPClearItems.ARAPbillID,' ') =SalesInvoiceItems.Salesinvoiceid and nvl

怎么又出来个on?
CathySun118 2007-04-30
  • 打赏
  • 举报
回复
太长,up

17,377

社区成员

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

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