mysql中join left后的case

1cklez4t  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(387)

我对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

我得到的结果如下:

现在是棘手的部分(至少对我来说)。我想添加一个列,当feld0包含null时显示“no”,否则显示“yes”。
不管我做什么,我似乎得到一个sql语法错误。老实说,我真的不知道从逻辑上把这个案子放在哪里。
有人有主意吗?
非常感谢

s2j5cfk0

s2j5cfk01#

这正是我从你的问题中了解到的,希望对你有用。我添加了一个列 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

相关问题