0

当我为所有组放置创建字符表示时,我无法查看所有数据。我的表中有字段组。该字段有id1、2、3、4,我也放了case语句。当我放id1时,结果将是group1等等。我想要的是当我放置角色时'A'。然后将显示组中的所有数据。怎么做?我不知道。

这是我的代码:-

select case when a.group='1' then 'group1'
    when a.group='2' then 'group2'
    when a.group='3' then 'group3'
    when a.group='4' then 'group4'
    when a.group='A' then 'ALL GROUP'
    end as group
from kumpulan a
where (a.group = &GROUP or &GROUP = 'A')

如果 Group='A' 然后在 4 行中显示 'Group 1','Group 2','Group 3','Group 4'

4

2 回答 2

0

如果问题出在“组”列中,您应该将 a.group by &GROUP 更改为:

select 
  case when &GROUP='1' then 'group1' 
  when &GROUP='2' then 'group2' 
  when &GROUP='3' then 'group3' 
  when &GROUP='A' then 'ALL GROUP' 
  end as group 
from 
 kumpulan a 
where (a.group = &GROUP or &GROUP = 'A')

我认为这个查询是您真正的大查询的摘要,可能类似于:

select 
  case when &GROUP='1' then 'group1' 
  when &GROUP='2' then 'group2' 
  when &GROUP='3' then 'group3' 
  when &GROUP='A' then 'ALL GROUP' 
  end as `group` ,
  sum( some_column ) as total
from 
 kumpulan a 
where (a.group = &GROUP or &GROUP = 'A')
group by `group`
于 2012-06-13T09:32:03.583 回答
0
        select case 'A' when a.group='1' then 'group1' when a.group='2' then 'group2' when a.group='3' then 'group3' when a.group='A' then 'ALL GROUP' end as group from kumpulan a where (a.group = &GROUP or &GROUP = 'A');

示例:

       SELECT CASE 1 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'more' END;
    -> 'one'
于 2012-06-13T09:35:32.230 回答