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