列组中的条款

时间:2019-03-10 07:38:39

标签: mysql sql select where-clause

我有一个来自零售店的数据,下面是各列

col_1   qty_1   col_2    qty_2    col_3     qty_3
Green   5       Red        8      Yellow     10

如果我想知道绿色的数量,那么我可以编写一个简单的查询,其中col_1 ='绿色'。

但是我只在col_1中没有得到绿色的颜色代码。它将在col_1,col_2和col_3之间不断改组,如下所示

col_1   qty_1   col_2    qty_2    col_3     qty_3
Green   5       Red        8      Yellow     10
Yellow  10      Green      7      Red        20

如何有一个查询来提取可用的绿色数量而不每次都更改查询?

1 个答案:

答案 0 :(得分:5)

select case when col_1 = 'Green' then qty_1
            when col_2 = 'Green' then qty_2
            when col_3 = 'Green' then qty_3
       end as qty
from your_table
where 'Green' in (col_1, col_2, col_3)