select
2.5*((r-i)/(r+(6*i)-(7.5*n)+1)) as tera,
(r-(2*i)-n)/(r+(2*i)-n) as tera2
from
(
select
sum(case when wavelength between 340 and 345 then reflectance end) as r,
sum(case when wavelength between 350 and 355 then reflectance end) as i,
sum(case when wavelength between 360 and 365 then reflectance end) as n
from
test
) vars
För flera bord kan du använda något som:
select
table_name,
2.5*((r-i)/(r+(6*i)-(7.5*n)+1)) as tera,
(r-(2*i)-n)/(r+(2*i)-n) as tera2
from
(
select
table_name,
sum(case when wavelength between 340 and 345 then reflectance end) as r,
sum(case when wavelength between 350 and 355 then reflectance end) as i,
sum(case when wavelength between 360 and 365 then reflectance end) as n
from
(
select 'table 1' as table_name, * from test
union all
select 'table 2', * from test
union all
select 'table 3', * from test
union all
select 'table 4', * from test
) as all_tables
group by
table_name
) vars
Du behöver bara ändra tabellnamn till dina faktiska namn och upprepa union all
så många gånger du behöver.