>Ways around inner select statments....
>Select ID, Sum(CASE WHEN phone.PHN = NULL THEN 1 ELSE 0 END) as PHNCount
>from person left outer join phone on ID
>where PHNCount = 0 GROUP BY phone.ID;
The alias in the WHERE clause is illegal; it would have to be
SELECT persons.ID,
Sum( CASE WHEN phone.type = 'PHN' THEN 1 ELSE 0 END ) AS PHNCount
FROM persons
LEFT OUTER JOIN phone USING ( ID )
GROUP BY phone.ID
HAVING phncount = 0;
which on this machine is up to ten times slower than
SELECT *
FROM persons pe LEFT JOIN phone ph ON pe.ID = ph.ID AND ph.type = 'PHN'
WHERE ph.type IS NULL;
PB
[mysql]
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]