我将尽可能清楚地提出这个问题。这很令人困惑,所以如果不清楚,我会事先道歉:
我有一组表:Table1、Table2、Table3
这些表中的每一个都有一个“年龄”列
我想创建一个表,检查年龄列是否包含每个表的“年龄”列中大于 60 的任何记录,如果是,则在新列中设置等于“RED”的记录。我还想指定一些其他标准来设置列等于“黄色”和“绿色”;然而,一步一步。
像这样的东西:
表 | 年龄
表 1 | 红色的
表 2 | 黄色
表 3 | 绿色的
任何可用的帮助表示赞赏
就像是
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;