MYSQL:带有!=语句的BASIC SELECT

时间:2012-01-30 07:33:57

标签: mysql select

SELECT id, company_id, user_id, valid_until, price 
FROM  `classifieds` 
WHERE  `user_id` = 1
AND  `valid_until` >  now()
AND  `price` = -2

这个查询给了我一行,它运行正常...

一旦我添加声明

SELECT id, company_id, user_id, valid_until, price 
FROM  `classifieds` 
WHERE  `user_id` = 1
AND  `valid_until` >  now()
AND  `price` = -2
AND  `company_id` != 23

它什么也没给我!!!

我在第一次查询中获得的行有company_id NULL

id  company_id  user_id valid_until price
35136   NULL    1   2012-02-12 08:06:37 -2

请告知

编辑:

我不希望有company_id为NULL的行。除了(company_id)值23之外,我想要所有行(NULL而不是NULL)。

1 个答案:

答案 0 :(得分:3)

SELECT id, company_id, user_id, valid_until, price 
FROM  `classifieds` 
WHERE  `user_id` = 1
AND  `valid_until` >  now()
AND  `price` = -2
AND  (`company_id` IS NULL OR `company_id` != 23)

这似乎可以解决问题