FIX: SQL SELECT Returns Different Results Using the Same Data (140300)



The information in this article applies to:

  • Microsoft Visual FoxPro for Windows 3.0

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
				

Modification Type:MajorLast Reviewed:3/24/2000
Keywords:kbbug KB140300