我想编写 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
。如果为 true ('abc'),则它会响应 THEN
('ac'),然后移至表中的下一行。如果为 false,则尝试第二个 WHEN
等等。
在您的情况下,第二个和第三个
WHEN
将不会被评估,因为它已经满足第一个WHEN
条件。
简而言之,如果您有多个相同的条件来评估 3x
WHEN 'abc'
,第一个将被使用,其他将不会被评估。
如果 'abc' 为 true,则响应不能是 'ac'、'ad' 和 'ae'。只能是“ac”。
是的,这就是发生的事情,我一直有“ac”作为输出,但是如何从“abc”获得3个不同的输出? (有或没有外壳)