mysql оставил соединение, если не существует или значение равно 0 - PullRequest
0 голосов
/ 01 апреля 2011
select a.*, b.status
FROM a
LEFT JOIN b ON a.bid = b.id
WHERE b.status = null or b.status=0 # thanks didnt mean to put == 

select a.*, b.status
 FROM a LEFT JOIN b ON a.bid = b.id
 WHERE b.status < 1

# надеется, что это потянет 0 и не будет совпадений, но не сработало

Выше не работает. Я использую mysql4.

Мне нужен способ получать только те записи, которые имеют нулевое значение, что означает отсутствие совпадения или статуса 0 в таблице b.

Спасибо

Ответы [ 2 ]

2 голосов
/ 01 апреля 2011

IS NULL - это правильный способ сравнить значение с null (null = null оценивается как null (false)).

select a., b.status FROM a 
LEFT JOIN b ON a.bid = b.id WHERE b.status IS NULL or b.status = 0 
1 голос
/ 01 апреля 2011
b.status IS NULL

, которое должно работать в вашем WHERE предложении

...