At 18:32 -0700 6/3/04, Daevid Vincent wrote:
How come this one works:

SELECT wifi_list,       IFNULL(wifi_list, 0) as wifi_list_new,
FROM wifi_table LEFT JOIN Swordfish.scanner ON scanner.scanner_id =
wifi_table.scanner_id LEFT JOIN wifi_wlist_table ON wifi_table_mac = mac
WHERE last_seen >= CURRENT_DATE AND wifi_list IS NULL;

This one works too

SELECT wifi_list, IFNULL(wifi_list, 0) as wifi_list_new,
FROM wifi_table LEFT JOIN Swordfish.scanner ON scanner.scanner_id =
wifi_table.scanner_id LEFT JOIN wifi_wlist_table ON wifi_table_mac = mac
WHERE last_seen >= CURRENT_DATE HAVING wifi_list_new IN (0,1,2);

But this one doesn't... I *need* this to work:

If you need it to work, I'm afraid you're out of luck. Think about what a IN (x,y,z) means. It's basically the same as a = x or a = y or a = z. So wifi_list IN (NULL) is like wifi_list = NULL, which is never true.

SELECT wifi_list,       IFNULL(wifi_list, 0) as wifi_list_new,
FROM wifi_table LEFT JOIN Swordfish.scanner ON scanner.scanner_id =
wifi_table.scanner_id LEFT JOIN wifi_wlist_table ON wifi_table_mac = mac
WHERE last_seen >= CURRENT_DATE AND wifi_list IN (NULL);


--
Paul DuBois, MySQL Documentation Team
Madison, Wisconsin, USA
MySQL AB, www.mysql.com

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]



Reply via email to