FIX: Correlated Subquery in Select List w/ ANSI JOIN Causes AV (164293)



The information in this article applies to:

  • Microsoft SQL Server 6.5 Service Pack 2 and later

This article was previously published under Q164293
BUG #: 16586 (Windows NT: 6.5)

SYMPTOMS

A query using a correlated subquery in the select list combined with an ANSI JOIN may cause a handled access violation (AV). The client connection will be terminated when the query is run.

WORKAROUND

To work around this problem, change the query to avoid using the non-ANSI syntax (that is, the = operator) for the join in the subselect.

STATUS

Microsoft has confirmed this to be a problem in Microsoft SQL Server version 6.5 Service Pack 2. This problem has been corrected in U.S. Service Pack 3 for Microsoft SQL Server version 6.5. For more information, contact your primary support provider.

MORE INFORMATION

The following is an example query that results in the handled access violation:
SELECT (SELECT count(*) FROM master_table
JOIN Status ON master_table.ID = Status.ID
AND Status.Code = 'COMPLETE'
WHERE  target_table.ID = master_table.ID
) FROM   target_table
   go
				

Modification Type:MajorLast Reviewed:10/3/2003
Keywords:kbBug kbfix kbusage KB164293