Я хочу рассчитать max(min(150,value returned by below query),50)
. Как это реализовать в netezza? Мне нужно передать значение, возвращаемое приведенным ниже запросом, в вышеуказанный оператор и вычислить значение выражения. Оцените свое время и помощь.Самый большой/минимальный или максимальный/минимальный расчет в SQL
Примечание: По Мин/Макс. Я имею в виду наибольший/наименее эквивалентный SQL. Хотя в Neteeza нет наибольших/наименее функций.
SELECT (x/cast(y as float)* 100 AS sales_ratio
FROM (SELECT a.sum(sales_amt) AS x
FROM table2 b,
table1 a,
table 3 c
WHERE b.VEND_CD IN ($vendorCD1) AND
b.ITM_CD_1 = ($ITMCD) AND
b.area_num = ($area) AND
b.area_num = a.area_num AND
b.itm_cd_2 = a.itm_cd_2 AND
a.week_end = c.week_end AND
c.week_end BETWEEN ($startdate) AND ($enddate)) t1
CROSS JOIN (SELECT a.sum(sales_amt) AS y
FROM table2 b,
table1 a,
table3 c
WHERE b.VEND_CD IN ($vendorCD1) AND
b.ITM_CD_1 = ($ITMCD) AND
b.area_num = ($area) AND
b.area_num = a.area_num AND
b.itm_cd_2 = a.itm_cd_2 AND
a.week_end = c.week_end AND
c.week_end BETWEEN ($startdate2) AND ($enddate2)) t2
Было полезно. Спасибо Radu –
@sql_learner Добро пожаловать. Не забудьте перевернуть/пометить как corect, если ответ вам помог, на этот вопрос и каждый раз здесь, на Stackoverflow. –