我想输出一个包含以下列的表格:
ID|Start_date|Success|Fail
1|01-01-2010|Yes|No
2|02-01-2010|No|Yes
My table structure is the following:
Table 1: Start
ID|Start_date
Table 2: Success
ID|Success_date
Table 3: Fail
ID|Fail_date
请注意,当存在 Start_id 时,它可能会导致成功或失败,但不能同时导致两者。每个表中的 ID 都是唯一的。
我想知道我们如何使用表 1 和表 2 创建输出格式,然后为 Failure 列编写一个依赖于 Success 的 case 语句(类似于 if Success=True,则 Failure=No)。
我怎样才能实现这个目标?
最佳答案
我认为你应该考虑这两个表。某些 id 可能不在这两个表中:
select s.ID, s.start_date,
(case when su.id is not null then 'Yes' else 'No' end) as Success,
(case when f.id is not null then 'Yes' else 'No' end) as fail
from start s left join
success su
on su.ID = s.ID left join
failures f
on f.ID = s.ID;
关于mysql - 如何使用 case when 语句获得正确的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57244288/