Как использовать столбец NULL в ГДЕ? - PullRequest
0 голосов
/ 16 января 2020

У меня есть некоторые проблемы с запросом, который имеет столбец NOT EXISTING, поэтому, когда я пытаюсь выполнить запрос с WHERE. Я получаю сообщение об ошибке, что в таблице нет этого столбца SELECT NULL AS users FROM test WHERE users = 1 Я знаю, что запрос не имеет никакого значения. Но мне нужно сделать ГДЕ со столбцом, которого нет в таблице

Ответы [ 3 ]

3 голосов
/ 16 января 2020

Используйте IS NULL

select column_name
from table_name
where column_name is null;

или IS NOT NULL

select column_name
from table_name
where column_name is not null;

Здесь вы можете увидеть DEMO

Тогда, если у вас нет этого столбца в вашей таблице, вы можете использовать его так:

with cte as
(select null as users
        , column_name
from table_name) 
select * from cte 
where users is null; -- you can replace this row with "where users = 1;"

Вот DEMO для этого примера

0 голосов
/ 16 января 2020

Просто оберните его в другой SELECT

SELECT t.* FROM (
SELECT NULL AS users FROM test
) t WHERE t.users = 1
0 голосов
/ 16 января 2020

Использовать производную таблицу :

select *
from
(
    SELECT NULL AS users FROM test
) dt
WHERE users = 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...