我想编写 SQL 案例来从相同的数据中获取不同的输出,例如;
From data abc, output as;
Ac
Ad
Ae
这就是我尝试过的;
Case when 'abc' then 'ac'
when 'abc' then 'ad'
When 'abc' then 'ae'
但它只提供交流电作为输出。 尝试嵌套案例得到相同的结果。
CASE
语句从上到下工作,每行仅响应第一个评估为 true 的条件,然后停止根据其余条件进行处理。
对于每一行,它都会尝试第一个
WHEN
。如果为真(“abc”),则它以 THEN
(“ac”)响应,然后移至表中的下一行。如果为 false,则尝试第二个 WHEN
等等。
在您的情况下,第二个和第三个
WHEN
将不会被评估,因为它已经满足第一个WHEN
条件。
简而言之,如果您有多个相同的条件要评估,则第一个将被使用,其他将不会被使用。
如果“abc”为真,则响应不能是“ac”、“ad”和“ae”。只能是“ac”。