У меня есть запрос, в котором я должен показать запись с доходом, превышающим 40 000 ... Я сделал это
SELECT p.COD_PROD AS TIPO_PRODUCTO,
to_char(round(sum(d.costo_sali)),'$999,999,999') as "Total Costo",
to_char(round(sum(d.venta_sali)),'$999,999,999') as "Total Venta",
to_char(round(sum(d.venta_sali - d.costo_sali)*100 / d.venta_sali)) as "PORC_Ganancia" ,
to_char(round(sum(d.venta_sali - d.costo_sali)),'$999,999,999') Ganancia
FROM PRODUCTO p JOIN DET_SALIDA d
ON(P.Cod_Prod = D.Cod_Prod)
GROUP BY p.cod_prod,D.Venta_Sali
ORDER BY Ganancia DESC;
Я думал о добавлении WHERE Earnings> 40 000, но, очевидно, «Earnings» не является идентификатором для да, и я не знаю, как мне правильно это сделать ...
Когда ты используешь одну funciГіn agregaciГіn как:
SUM
AVG
COUNT
ты Должен использовать HAVING
таким образом:
HAVING Ganancia > 40000
Так как:
HAVING
работает на наборе результатов, который возвращает ее тебе funciГіn agregaciГіn, что ты используешь , Только имей в consideraciГіn, что использование HAVING
идет:
GROUP BY
ORDER BY
Ссылок
он был в сомнении, если использовать having или where, но тема состоит в том, что Выгода не таблица, если не, которую я назвал ему Выгодой в формулу (продажу - вывод), и он не обнаруживает это у меня как идентификатор vГЎlido... ВїCГіmo podrГ, - чтобы давать ему стоимость как идентификатор, также как и собственная переменная, которая хранила бы эти данные?