@David138

Как в sql сделать запрос?

У меня есть три таблицы и в одну таблицу занес данные из трех таблиц. Осталось только одно - я не знаю, как мне вынести в таблицу данные без Null.То есть только результаты понижен или повышен.Вот мой код:
SELECT 
    --*
    --dmn.phone,
    dmn.name,
    --dma.name AS analysis,
    (CASE 
        WHEN dmt.value<dma.min_value 
            THEN 'Понижен'
        WHEN dmt.value>dma.max_value 
            THEN 'Повышен'
    --ELSE
    --  'Это нормально'
    END) AS results,
    dmt.value,
    dma.min_value,
    dma.max_value
FROM d.gabn_med_test AS dmt
LEFT JOIN de.med_name AS dmn
    ON dmt.patient_code = dmn.id
LEFT JOIN de.med_an_name AS dma
    ON dmt.analysis = dma.id;

а вот скрин того что у меня получилось, и как таблица выглядит на данный момент:
641e77508cf9f526680748.png
  • Вопрос задан
  • 201 просмотр
Пригласить эксперта
Ответы на вопрос 2
@kalapanga
select ... from ... where ...
Ответ написан
@Akina
Сетевой и системный админ, SQL-программист.
results - это поле выходного набора. В момент выполнения WHERE его тупо ещё не существует. Отсюда и ошибка.

Чтобы её преодолеть, нужно использовать исходное выражение этого поля. Которое, после осмысливания, превратится во WHERE NOT BETWEEN. А заодно превратит последний LEFT JOIN в INNER JOIN.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы