如何获得2个不同的输出

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

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

From data abc, output as;
Ac
Ad
Ae

这就是我尝试过的;

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

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

sql case
1个回答
0
投票

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

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

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

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

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

简而言之,如果您有多个相同的条件要评估,则第一个将被使用,其他将不会被使用。

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

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