CASE после JOIN LEFT в SQL

0

Я немного борюсь с SQL-запросом. У меня две таблицы, и я успешно создал запрос для отображения необходимой информации с помощью LEFT JOIN. Теперь я хочу отредактировать результат таким образом, где я добавляю/преобразую информацию в зависимости от того, содержит ли строка что-либо или имеет значение NULL.

Вот мой запрос:

SELECT users.user_uid, daten.tab_lkw, daten.feld0
FROM users
LEFT JOIN (SELECT DISTINCT daten.feld0, daten.tab_lkw FROM daten WHERE daten.feld0 = '2018-06-22' ) daten ON users.user_uid = daten.tab_lkw
WHERE users.user_uid NOT LIKE 'chef'
ORDER BY users.user_uid

В результате я получаю следующее:

Изображение 174551

Теперь идет сложная часть (по крайней мере для меня). Я хочу добавить столбец, который отображает либо "нет", если feld0 содержит NULL или "да" в противном случае.

Независимо от того, что я делаю, я, похоже, получаю синтаксическую ошибку SQL. Честно говоря, я не знаю, где логично поставить CASE.

У кого-то появилась идея?

Большое спасибо

  • 2
    Покажите код, на котором вы получаете ошибку.
  • 0
    Я не вижу CASE в вашем коде.
Теги:
join
left-join
case

1 ответ

1

Это именно то, что я понял из вашего вопроса, надеюсь, что это сработает для вас. Я добавил столбец YesNo на основе значения daten.feld0

SELECT users.user_uid, daten.tab_lkw, daten.feld0,
    CASE WHEN daten.feld0 IS NULL THEN 'No' ELSE 'Yes' END AS YesNo
FROM users
LEFT JOIN (SELECT DISTINCT daten.feld0, daten.tab_lkw 
            FROM daten 
            WHERE daten.feld0 = '2018-06-22' ) daten ON users.user_uid = daten.tab_lkw
WHERE users.user_uid NOT LIKE 'chef'
ORDER BY users.user_uid

Ещё вопросы

Сообщество Overcoder
Наверх
Меню