2016-09-09 6 views
-4

쿼리를 생성하여 계산을 수행했습니다. 이제 계산 된 열에 대한 계산을 수행해야합니다.SQL 백분율 및 계산

dbo.SI.frozqty-dbo.SI.countqty AS VARCOUNT 

는 지금은

VARCOUNT/dbo.SI.frozqty 

의 비율을 작업해야하지만 난 또한 0 오류로 그 격차를 제거하고 있음을 얻을 필요가

VARCOUNT

를 인식하지 못합니다 AS를 사용하여 새 열의 계산

아이디어가 있으십니까?

미리 감사드립니다.

+0

별칭을 통해 형제 열의 값을 가져올 수 없습니다. 이 값이 표시된 것보다 조금 더 많은 저장 프로 시저의 일부인 경우 선언 된 매개 변수를 사용하여 값을 저장할 수 있습니다. 그렇지 않으면'SELECT dbo.SI.frozqty-dbo.SI.countqty를 VARCOUNT, (dbo.SI.frozqty-dbo.SI.countqty)/dbo.SI.frozqty AS CalculatedValue'로 지정하십시오. – Santi

답변

0

하위 쿼리 또는 CTE를 사용할 수 있습니다. 하위 쿼리 또는 CTE에서 첫 번째 수준의 계산을 수행하고 기본 쿼리에서 두 번째 수준의 계산을 수행하는 데 사용합니다.

0

이 질문에 대한 일반적인 대답은 하위 쿼리 또는 CTE를 사용하는 것입니다. 이것들은 유효합니다. 두 인수가 정수가있는 경우 SQL 서버, 정수 나눗셈을 수행하는 것이

select x.varcount/si.frozqty 
from . . . outer apply 
    (select dbo.SI.frozqty-dbo.SI.countqty AS VARCOUNT) x 

참고 : 또 다른 방법은 측면이 SQL Server의 OUTER APPLY 또는 CROSS APPLY을 철자하는 조인을 사용하는 것입니다. 이것은 OUTER APPLY 구문에 영향을 미치지 않으며, 분할 결과에만 적용됩니다.