Icon View Incident Report

Serious Serious
Reported By: Rodrigo Pires
Reported On: 1/30/2008
For: Version 4.26 Build 1
# 2578 INNER JOINs Returning Incorrect Rows When Nested Under LEFT OUTER Joins

The following simple sql works. But... i had a bigger sql, where the = operator dont work (it returns a cross join) and I must use 'in' for that to work. The problem only occurs with the tables rua and bairro

Simple
------

select imv.matricula,
      rua.desc,
      bai.desc
from imovel imv
inner join  Rua          rua  on (rua.id    = imv.rua)
inner join  Bairro       bai  on (bai.id     = imv.bairro)

Complex
-------

select cap.capa, ime.capa, ime.imovel, imv.auto_inc, imv.cidade, cid.codigo
  from "capa_esc" cap

  inner join       "esc_arq"     esc  on (esc.codigo    = cap.esc_escreve)
  left  join       "cap2_esc" cap2 on (cap2.capa     = cap.capa)
  left  outer join "cusrj_es" crj  on (crj.capa      = cap.capa)
  left  outer join "imv_esc"  ime  on (ime.capa      = cap.capa)
  inner join       "Imovel"   imv  on (imv.auto_inc  = ime.imovel)
  inner join       "Tipo_Rua" tru  on (tru.codigo    = imv.tipo_rua)
  inner join       "Rua"      rua  on (rua.codigo    = imv.rua)
  inner join       "Bairro"   bai  on (bai.codigo    = imv.bairro)
  inner join       "Cidade"   cid  on (cid.codigo    in (imv.cidade))



Resolution Resolution
Fixed Problem on 2/1/2008 in version 4.26 build 2


Products Affected Products Affected
DBISAM Additional Software and Utilities
DBISAM ODBC Client-Server
DBISAM ODBC Client-Server with Source
DBISAM ODBC Standard
DBISAM ODBC Standard with Source
DBISAM ODBC Trial
DBISAM VCL Client-Server
DBISAM VCL Client-Server with Source
DBISAM VCL Standard
DBISAM VCL Standard with Source
DBISAM VCL Trial

Image