2011-03-15 7 views
0

SQL 내가이총에 값과 반환 값 같은 열에에서

SUM(ISNULL(CAST(A.ODENEN_ANAPARA AS FLOAT),0)+ISNULL(CAST(A.FAIZ AS FLOAT),0)+ 
     ISNULL(CAST(A.BSMV AS FLOAT),0)+ISNULL(CAST(A.GECIKME_FAIZ AS FLOAT),0)+ 
     ISNULL(CAST(A.GECIKME_BSMV AS FLOAT),0)) AS 'YATAN' 

같은 열이 나는 같은 다른 값을 받고 기능을 가지고;

USE [Example] 
GO 
/****** Object: UserDefinedFunction [dbo].[fngcodeme] Script Date: 03/15/2011 11:52:16 ******/ 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 

ALTER FUNCTION [dbo].[fngcodeme] 
(
    @HESAP INT,@BAS DATE, @BIT DATE,@DOV INT 
) 
RETURNS FLOAT 

AS 
BEGIN 

RETURN( 
    SELECT SUM(TUTAR) 
    FROM YAZ..MARDATA.M_GHAREKET 
    WHERE TEMEL_HESAP = @HESAP 
    AND DOVIZ_KOD = @DOV 
    AND REF_KOD = 'GC' 
    AND BACAK_GRUP = 'PERT' 
    AND ISL_KOD = 1 
    AND ISL_TAR >= @BAS 
    AND ISL_TAR <= @BIT 
) 
END 

내가 원하는 것은 동일한 열에있는 첫 번째 SQL과 함수의 합계입니다.

:

Best Regards, Soner

답변

1
select 
    SUM(ISNULL(CAST(A.ODENEN_ANAPARA AS FLOAT),0)+ISNULL(CAST(A.FAIZ AS FLOAT),0)+ 
     ISNULL(CAST(A.BSMV AS FLOAT),0)+ISNULL(CAST(A.GECIKME_FAIZ AS FLOAT),0)+ 
     ISNULL(CAST(A.GECIKME_BSMV AS FLOAT),0)) 
    + dbo.fngcodeme(@HESAP,@BAS,@BIT,@DOV) 
from ... 
+0

@BAS가 시작 날짜 (예 "Yatan는"내가 한 콜럼의 A + B를 원하는 A, 함수 반환 값은 B이다), @BIT 마침입니다 날짜. 내 페이지에서이 날짜에 대해 두 개의 텍스트 상자를 선택합니다. 이 그림처럼 http://i1103.hizliresim.com/2011/3/15/5030.jpg 그리고이 코드를 사용하면 (txtBoxText1! = "") {strQuery = strQuery + "A.ISL_TAR> = @S_TARIH_B" ; dt_stb = DateTime.Parse (txtBoxText1); (txtBoxText2! = "") {strQuery = strQuery + "AND A.ISL_TAR <= @S_TARIH_S"; dt_sts = DateTime.Parse (txtBoxText2); myCommand.Parameters.AddWithValue ("@ S_TARIH_S", dt_sts); 어떻게 설정합니까? (시작, 종료 날짜) –

+0

이 코드는 작동하지 않으므로 SUM (ISNULL (CAST (A.ODENEN_ANAPARA AS FLOAT), 0) + ISNULL (CAST (A.FAIZ AS FLOAT), 0) + ISNULL FLOAT), 0) + [dbo]. [fngcodeme] (@ B. 0)ISNULL (CAST (A.GECIKME_BSMV AS FLOAT) HESAP_NO, @S_TARIH_B, @S_TARIH_S, @ B.DOVIZ_KOD) '야만족' –