URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 5539
[ Назад ]

Исходное сообщение
"MySQL не полностью выбирает"

Отправлено pavard , 30-Июн-06 13:34 
Привет, всем!
Делаю запрос в mysql: select * from A left join B on (A.x=B.n) where (A.x,A.y,A.z) not in (select N,M,B from C), при этом не выбираются строки где B - NULL (A.z, B-тип date). Решил проблему подставив ifnull(B,0) ifnull(A.z,0) в соответствующие места. Просто интересно, чтобы в будующем не попадать - почему так происходит?

Содержание

Сообщения в этом обсуждении
"MySQL не полностью выбирает"
Отправлено Vd , 01-Июл-06 15:05 
>будующем не попадать - почему так происходит?

В стандарте SQL написано - любое сравнение A=B дает в результате NULL, если хотя бы один операнд(A или B) содержит в себе NULL.
В твоем случае - все сравнения (A.x=B.n) которые дают NULL считаются неудовлетворяющими запрос.

Делай поля по которым джойнишь "не-нуль", или ifnull(B,0).