0

我将尽可能清楚地提出这个问题。这很令人困惑,所以如果不清楚,我会事先道歉:

我有一组表:Table1、Table2、Table3

这些表中的每一个都有一个“年龄”列

我想创建一个表,检查年龄列是否包含每个表的“年龄”列中大于 60 的任何记录,如果是,则在新列中设置等于“RED”的记录。我还想指定一些其他标准来设置列等于“黄色”和“绿色”;然而,一步一步。

像这样的东西:

表 | 年龄

表 1 | 红色的

表 2 | 黄色

表 3 | 绿色的

任何可用的帮助表示赞赏

4

1 回答 1

1

就像是

select case when max(t1.age) > 60 then 'RED' else 'GREEN' end table1_age, 
            case when max(t2.age) > 60 then 'RED' else 'GREEN' end table2_age, 
            case when max(t3.age) > 60 then 'RED' else 'GREEN' end table3_age
      from (select max(age) age from table1) t1
           cross join (select max(age) age from table2) t2
           cross join (select max(age) age from table2) t3;

或者

select 'table 1' tabl,
        case when max(age) > 60 then 'RED' else 'GREEN' end 
  from  table1 t1
union all
select 'table 2' tabl,
        case when max(age) > 60 then 'RED' else 'GREEN' end 
  from  table2
union all
select 'table 3' tabl,
        case when max(age) > 60 then 'RED' else 'GREEN' end 
  from  table3;
于 2013-01-17T17:27:26.770 回答