Subject RE: [firebird-support] Weird query results - bug?
Author Svein Erling Tysvær
> Hi,
>
> This SQL returns 2533 records, none of which contain B."Kod" starting
> with 1711 or 2111 (checked thoroughly):
> select B.*
> from "Branschkod" B
> inner join "Branschkod" B2 on B2."Namn" = B."Namn"
> where B."ECO_ID" <> B2."ECO_ID"
>
> Now, I add a line to the WHERE:
> select B.*
> from "Branschkod" B
> inner join "Branschkod" B2 on B2."Namn" = B."Namn"
> where B."ECO_ID" <> B2."ECO_ID"
> and B."Kod" in ('17111', '17112', '17113', '21111', '21112', '21113')
>
> This select DOES return six records, containing B."Kod" starting with
> 1711 or 2111 (one for each code in the list).
>
> How can this happen?

Maybe an index is damaged? See if the two queries use different plans and recreate any index that is used in the first plan and not in the second (I assume the six records exist, and that it is the 2533 records that should be at least 2539 records).

HTH,
Set