如何从同一个数据文件获取2个不同的输出

问题描述 投票:0回答:2

我想编写 SQL 代码来从相同的数据中获取不同的输出,例如;

From data abc, output as;
Ac
Ad
Ae

这就是我尝试过的;

Case when 'abc' then 'ac' 
     when 'abc' then 'ad'
     When 'abc' then 'ae'

但它只提供交流电作为输出。 尝试嵌套案例得到相同的结果。

sql case
2个回答
1
投票

CASE
语句从上到下工作,每行仅响应第一个评估为 true 的条件,然后停止根据其余条件进行处理。

对于每一行,它都会尝试第一个

WHEN
。如果为 true ('abc'),则它会响应
THEN
('ac'),然后移至表中的下一行。如果为 false,则尝试第二个
WHEN
等等。

在您的情况下,第二个和第三个

WHEN
将不会被评估,因为它已经满足第一个
WHEN
条件。

简而言之,如果您有多个相同的条件来评估 3x

WHEN 'abc'
,第一个将被使用,其他将不会被评估。

如果 'abc' 为 true,则响应不能是 'ac'、'ad' 和 'ae'。只能是“ac”。


0
投票

是的,这就是发生的事情,我一直有“ac”作为输出,但是如何从“abc”获得3个不同的输出? (有或没有外壳)

© www.soinside.com 2019 - 2024. All rights reserved.