Страницы

Поиск по вопросам

вторник, 31 декабря 2019 г.

Как в выборке задать значение колонке 1 или 0 в зависимости от существования в ней значения?

#mysql #sql


Есть запрос на выборку:

SELECT t.id, t.alias, t.name, at.tag_id as status
FROM tbl_tag t LEFT JOIN tbl_article_tags at
     ON t.id = at.tag_id


Нужно, чтобы он вернул результат, в котором колонка status будет заполняться 1 (если
в ячейке есть значение) или 0 (если в ячейке NULL). Как такое реализовать?
    


Ответы

Ответ 1



SELECT t.id, t.alias, t.name, at.tag_id as status, case when at.tag_id is null then 0 else 1 end FROM tbl_tag t LEFT JOIN tbl_article_tags at ON t.id = at.tag_id

Ответ 2



Вот такое решение (проверил, работает на MySQL 5.5.50): select t.id, t.alias, t.name case when isnull(at.tag_id) then 0 else 1 end, case when at.tag_id is null then 0 else 1 end, -- идентично at.tag_id -- для проверки from tbl_tag t left join tbl_article_tags at on t.id = at.tag_id

Комментариев нет:

Отправить комментарий