我将以尽可能明确的方式提出这个问题。这很令人困惑,所以如果不清楚我会事先道歉:
我有一组表:Table1,Table2,Table3
这些表格中的每一个都有一个“年龄”列
我想创建一个表来检查age列是否包含每个表的“Age”列中的任何记录大于60,如果是,则将新列中的记录设置为“RED” “。我还想指定一些其他标准来将列设置为“黄色”和“绿色”;然而,一步一步。
这样的事情:
表|年龄
表1 |红色
表2 |黄
表3 |绿色
感谢任何有用的帮助
答案 0 :(得分: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;