SELECT sa.saversion, sa.saverest, l.areasymbol, l.areaname, mu.mukey, mu.musym, mu.muacres,
c.comppct_r, c.compname, localphase, taxorder,slope_r,
CASE WHEN nirrcapscl IS NULL THEN nirrcapcl ELSE nirrcapcl + nirrcapscl END AS capclass,
drainagecl, hydgrp, tfact, slopelenusle_r, albedodry_r,
(SELECT TOP 1 taxminalogy FROM cotaxfmmin WHERE cotaxfmmin.cokey=c.cokey) AS mineralogy,
(SELECT CASE WHEN MIN(resdept_r) IS NULL THEN '>200' ELSE CAST(MIN(resdept_r) AS VARCHAR) END
FROM component
LEFT OUTER JOIN corestrictions ON component.cokey = corestrictions.cokey
WHERE component.cokey = c.cokey AND reskind IS NOT NULL) AS restrictiondepth,
(SELECT TOP 1 reskind
FROM component
LEFT OUTER JOIN corestrictions ON component.cokey = corestrictions.cokey
WHERE component.cokey = c.cokey AND reskind IS NOT NULL) AS restrictionkind,
hzname, hzdept_r, hzdepb_r, texture, claytotal_r, silttotal_r, sandtotal_r,
sandvc_r, sandco_r, sandmed_r, sandfine_r, sandvf_r,
(SELECT CASE WHEN SUM(cf.fragvol_r) IS NULL THEN '0' ELSE CAST(SUM(cf.fragvol_r) AS VARCHAR) END
FROM chfrags cf WHERE cf.chkey = ch.chkey) AS fragvol,
kffact, dbthirdbar_r, dbovendry_r, ksat_r, cec7_r, ph1to1h2o_r, wtenthbar_r, wthirdbar_r, wfifteenbar_r,
awc_r, om_r, ec_r, lep_r, caco3_r, sumbases_r,
(SELECT CASE WHEN MAX(soimoistdept_r) IS NULL THEN '>200' ELSE CAST(MAX(soimoistdept_r) AS VARCHAR) END
FROM component
LEFT OUTER JOIN comonth ON comonth.cokey = component.cokey
LEFT OUTER JOIN cosoilmoist ON comonth.comonthkey = cosoilmoist.comonthkey
WHERE component.cokey = c.cokey AND soimoiststat = 'Wet'
AND ((taxtempregime IN ('Cryic', 'Pergelic') AND comonth.month IN ('July', 'August'))
OR (taxtempregime IN ('Frigid', 'Mesic', 'Isofrigid') AND comonth.month IN ('May', 'June', 'July', 'August', 'September'))
OR (taxtempregime IN ('Thermic', 'Hyperthermic') AND comonth.month IN ('April', 'May', 'June', 'July', 'August', 'September', 'October'))
OR (taxtempregime IN ('Isothermic', 'Isohyperthermic', 'Isomesic') AND comonth.month IN ('March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November')))) AS maxgswatertable_r,
(SELECT CASE WHEN MIN(soimoistdept_r) IS NULL THEN '>200' ELSE CAST(MIN(soimoistdept_r) AS VARCHAR) END
FROM component
LEFT OUTER JOIN comonth ON comonth.cokey = component.cokey
LEFT OUTER JOIN cosoilmoist ON comonth.comonthkey = cosoilmoist.comonthkey
WHERE component.cokey = c.cokey AND soimoiststat = 'Wet'
AND ((taxtempregime IN ('Cryic', 'Pergelic') AND comonth.month IN ('July', 'August'))
OR (taxtempregime IN ('Frigid', 'Mesic', 'Isofrigid') AND comonth.month IN ('May', 'June', 'July', 'August', 'September'))
OR (taxtempregime IN ('Thermic', 'Hyperthermic') AND comonth.month IN ('April', 'May', 'June', 'July', 'August', 'September', 'October'))
OR (taxtempregime IN ('Isothermic', 'Isohyperthermic', 'Isomesic') AND comonth.month IN ('March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November')))) AS mingswatertable_r, c.cokey, ch.chkey
FROM legend l
INNER JOIN mapunit mu ON mu.lkey = l.lkey
LEFT OUTER JOIN sacatalog sa ON sa.areasymbol = l.areasymbol
LEFT OUTER JOIN component c ON c.mukey = mu.mukey
LEFT OUTER JOIN chorizon ch ON ch.cokey = c.cokey
LEFT OUTER JOIN chtexturegrp ct ON ch.chkey=ct.chkey
WHERE compkind != 'miscellaneous area' AND ct.rvindicator = 'yes' AND l.areasymbol=
'MO123'
ORDER BY areasymbol, musym, comppct_r DESC, hzdept_r