Пример чтобы была понятна проблема. Есть таблица:
номер дома | корпус
Проблема в том, что у некоторых домов нет корпуса. И не знаю как быть. NULL оставлять не нравится, 1 писать тоже не правильно, как и 0. Можно было бы оставить так, но проблема в том, что мне по корпусу нужно будет join делать на другую таблицу.
where ifnull(table1.корпус,0) = ifnull(table2.корпус,0)
вот так, похоже, можно объединять таблицы с NULL.
А чем не нравитсся использовать 0 при отсутствии номера корпуса?
Использовать для соединения суррогатный ключ.
Номер дома и корпуса не могут быть числами, так как в них могут быть литеры. Отсутствие значения — это всегда NULL.