Knowledge Base

FIX: SQL SELECT Returns Different Results Using the Same Data

Article ID: 140300

Article Last Modified on 3/24/2000


APPLIES TO


This article was previously published under Q140300

SYMPTOMS

The number of records returned from the same SQL SELECT statement on the same data is different.

STATUS

Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article. This problem was corrected in Visual FoxPro 3.0b for Windows.

MORE INFORMATION

Steps to Reproduce Problem

The following program displays the number of records returned from two consecutive SQL statements. Note that different numbers are returned.
   SET SAFETY OFF
   CLOSE ALL

   CREATE TABLE main (num N(1), link C(50), crit C(50))
   INSERT INTO main VALUES (1, "YES", "YES")
   INSERT INTO main VALUES (2, "NO", "YES")
   INSERT INTO main VALUES (3, "NO", "NO")
   INSERT INTO main VALUES (4, "YES", "NO")

   CREATE TABLE link (link C(50))
   INSERT INTO link VALUES ("YES")

   CLOSE ALL
   CLEAR

   FOR i = 1 TO 2

      lcTmpFile = "tmp" + ALLTRIM(STR(i)) + ".dbf"
      IF FILE(lcTmpFile)
         ERASE (lcTmpFile)
      ENDIF

      SELECT num, link, crit FROM main ;
         WHERE ((main.link IN (SELECT link.link FROM link)) OR ;
            (crit = "YES")) INTO TABLE (lcTmpFile)

      ? _TALLY

   ENDFOR
				

Additional query words: VFoxWin buglist3.00 fixlist3.00b

Keywords: kbbug kbfix KB140300