SUPPORT / SAMPLES & SAS NOTES
 

Support

Problem Note 61414: Incorrect results are returned when you use a DISTINCT or COUNT(*) function in an SQL procedure

DetailsHotfixAboutRate It

You might receive incorrect results if you use DISTINCT or COUNT(*) in an SQL procedure similar to the following SAS® program:

data A_TABELA;
input A_PK;
datalines;
11
12
13
14
15
.
;
run;
 
data B_TABELA;
input B_PK;
datalines;
12
13
.
15
;
run;
 
/* DISTINCT gives incorrect row count. Expected 2 rows */

PROC SQL feedback;
     CREATE TABLE ZAPYTANIE1 AS 
     SELECT DISTINCT CZY_W_B_TABELI FROM 
     (select DISTINCT A_PK, 1 as CZY_W_A_TABELI from A_TABELA WHERE A_PK NOT IS NULL) as a
     FULL JOIN 
     (select DISTINCT B_PK, 1 as CZY_W_B_TABELI from B_TABELA WHERE B_PK NOT IS NULL) as b
     on a.A_PK = b.B_PK
;
QUIT;

  
/* COUNT() gives incorrect row count. Expected 2 rows */
 
PROC SQL feedback;
     CREATE TABLE ZAPYTANIE2 AS 
     SELECT CZY_W_B_TABELI,COUNT(*) AS ILE  FROM 
     (select DISTINCT A_PK, 1 as CZY_W_A_TABELI from A_TABELA WHERE A_PK NOT IS NULL) as a
     FULL JOIN 
     (select DISTINCT B_PK, 1 as CZY_W_B_TABELI from B_TABELA WHERE B_PK NOT IS NULL) as b
     on a.A_PK = b.B_PK
     GROUP BY CZY_W_B_TABELI
;
QUIT;

Click the Hot Fix tab in this note to access the hot fix for this issue.



Operating System and Release Information

Product FamilyProductSystemProduct ReleaseSAS Release
ReportedFixed*ReportedFixed*
SAS SystemBase SASz/OS9.4_M49.4_M59.4 TS1M49.4 TS1M5
z/OS 64-bit9.4_M49.4_M59.4 TS1M49.4 TS1M5
Microsoft® Windows® for x649.4_M49.4_M59.4 TS1M49.4 TS1M5
Microsoft Windows 8 Enterprise 32-bit9.4_M49.4_M59.4 TS1M49.4 TS1M5
Microsoft Windows 8 Enterprise x649.4_M49.4_M59.4 TS1M49.4 TS1M5
Microsoft Windows 8 Pro 32-bit9.4_M49.4_M59.4 TS1M49.4 TS1M5
Microsoft Windows 8 Pro x649.4_M49.4_M59.4 TS1M49.4 TS1M5
Microsoft Windows 8.1 Enterprise 32-bit9.4_M49.4_M59.4 TS1M49.4 TS1M5
Microsoft Windows 8.1 Enterprise x649.4_M49.4_M59.4 TS1M49.4 TS1M5
Microsoft Windows 8.1 Pro 32-bit9.4_M49.4_M59.4 TS1M49.4 TS1M5
Microsoft Windows 8.1 Pro x649.4_M49.4_M59.4 TS1M49.4 TS1M5
Microsoft Windows 109.4_M49.4_M59.4 TS1M49.4 TS1M5
Microsoft Windows Server 20089.4_M49.4_M59.4 TS1M49.4 TS1M5
Microsoft Windows Server 2008 R29.4_M49.4_M59.4 TS1M49.4 TS1M5
Microsoft Windows Server 2008 for x649.4_M49.4_M59.4 TS1M49.4 TS1M5
Microsoft Windows Server 2012 Datacenter9.4_M49.4_M59.4 TS1M49.4 TS1M5
Microsoft Windows Server 2012 R2 Datacenter9.4_M49.4_M59.4 TS1M49.4 TS1M5
Microsoft Windows Server 2012 R2 Std9.4_M49.4_M59.4 TS1M49.4 TS1M5
Microsoft Windows Server 2012 Std9.4_M49.4_M59.4 TS1M49.4 TS1M5
Windows 7 Enterprise 32 bit9.4_M49.4_M59.4 TS1M49.4 TS1M5
Windows 7 Enterprise x649.4_M49.4_M59.4 TS1M49.4 TS1M5
Windows 7 Home Premium 32 bit9.4_M49.4_M59.4 TS1M49.4 TS1M5
Windows 7 Home Premium x649.4_M49.4_M59.4 TS1M49.4 TS1M5
Windows 7 Professional 32 bit9.4_M49.4_M59.4 TS1M49.4 TS1M5
Windows 7 Professional x649.4_M49.4_M59.4 TS1M49.4 TS1M5
Windows 7 Ultimate 32 bit9.4_M49.4_M59.4 TS1M49.4 TS1M5
Windows 7 Ultimate x649.4_M49.4_M59.4 TS1M49.4 TS1M5
64-bit Enabled AIX9.4_M49.4_M59.4 TS1M49.4 TS1M5
64-bit Enabled Solaris9.4_M49.4_M59.4 TS1M49.4 TS1M5
HP-UX IPF9.4_M49.4_M59.4 TS1M49.4 TS1M5
Linux for x649.4_M49.4_M59.4 TS1M49.4 TS1M5
Solaris for x649.4_M49.4_M59.4 TS1M49.4 TS1M5
* For software releases that are not yet generally available, the Fixed Release is the software release in which the problem is planned to be fixed.