MySQL не оператор

Я нахожусь в процессе переноса локальной базы данных MySQL в облачную базу данных MySQL с помощью Xeround. Я запускаю тестовый скрипт, который использует левое соединение для формирования таблицы, а затем запускает два оператора select.

--один, в котором поля VAL и KVAL равны, и тот, который возвращает дополнение этого набора (где наборы VAL и KVAL не равны).

У меня нет проблем с получением записей, в которых VAL и KVAL совпадают, используя (VAL=KVAL) в качестве оператора where. Я могу получить записи, где VAL=KVAL в обеих настройках. Я могу получить дополнение в моей локальной настройке, используя оператор where: VAL!=KVAL OR (KVAL IS NULL).

Однако, когда я запускаю этот же оператор Select/Where в своей настройке Xeround, он возвращает набор NULL. База данных Xeround использует PHP MyAdmin, если это полезно. Я также поэкспериментировал с ‹>, поместив восклицательный знак или оператор not вне оригинального оператора where. Это должно быть довольно прямолинейно. Можете ли вы помочь мне?


person user1120540    schedule 27.12.2012    source источник


Ответы (1)


Условие дополнения

WHERE ( val = kval )

is:

WHERE ( val <> kval  OR  val IS NULL  OR  kval IS NULL )
person ypercubeᵀᴹ    schedule 27.12.2012
comment
Спасибо Ypercube - это сработало. Я не уверен, что именно я сделал не так раньше, но теперь я могу двигаться дальше! - person user1120540; 27.12.2012
comment
В этом случае NOT ( val = kval ) должен помочь, верно? - person Enissay; 17.06.2019