Если вам нужно перечислить все строки, где все значения столбца NULL
, я бы использовал функцию COLLATE
. Это принимает список значений и возвращает первое ненулевое значение. Если вы добавите все имена столбцов в список, затем используйте IS NULL
, вы должны получить все строки, содержащие только нули.
SELECT * FROM MyTable WHERE COLLATE(Col1, Col2, Col3, Col4......) IS NULL
У вас не должно быть никаких таблиц со ВСЕМИ columns
null, так как это означает, что у вас нет primary key
(не разрешено быть null
). Отсутствие первичного ключа - это то, чего следует избегать; это нарушает первую нормальную форму.
Вы никогда не сможете иметь более одной модели для каждого вида, как вы ее сделали. Однако, немного похоже на то, что было сказано в комментариях, лучше всего использовать модель Personal_Info как «родительскую» модель и получить доступ ко всему оттуда. Если нет, вы можете попробовать экспериментировать с одним из этих решений.
Кредиты для Тетсуя Ямамото за его комментарий