SQL выбирает все значения из таблицы, где все столбцы заполнены данными - PullRequest
0 голосов
/ 28 февраля 2019

Если у меня есть такая таблица:

enter image description here

Мне нужно вернуть все значения, которые полностью заполнены данными внутри каждой строки.Если он содержит пустое значение в одной строке, он не должен возвращать эту строку.Вот пример ожидаемого результата:

enter image description here

также, как бы у меня был код для объединения с внутренним оператором соединения.

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019

Вот два метода.Если значения NULL, то, как указывает Тим, вы можете сделать:

WHERE A IS NOT NULL AND B IS NOT NULL AND C IS NOT NULL AND D IS NOT NULL

Если «пусто» может означать пустые строки, то самый простой метод:

WHERE A > '' AND B > '' AND C > '' AND D > ''

Примечание: это может не работать для числовых значений.Но в этом случае вы хотите прямое сравнение с NULL.

0 голосов
/ 28 февраля 2019

Один из подходов - просто проверить каждый столбец:

SELECT ID, A, B, C, D
FROM yourTable
WHERE A IS NOT NULL AND B IS NOT NULL AND C IS NOT NULL AND D IS NOT NULL;

Я не совсем уверен, что вы подразумеваете под "пустым", означает ли это значение NULL или возможную пустую строку.Вот версия, которая охватывает обе возможности:

SELECT ID, A, B, C, D
FROM yourTable
WHERE
    COALESCE(A, '') <> '' AND
    COALESCE(B, '') <> '' AND
    COALESCE(C, '') <> '' AND
    COALESCE(D, '') <> '';
...