2011-03-15 68 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和函数在同一列上的总数。

(例: “亚坦” 是A,函数返回值是B,我想要一个式柱A + B)

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是开始日期,@BIT是完成日期。在我的页面中,我为这个日期选择了两个文本框。 (txtBoxText1!=“”){strQuery = strQuery +“AND A.ISL_TAR> = @S_TARIH_B”这个图片http://i1103.hizliresim.com/2011/3/15/5030.jpg ; dt_stb = DateTime.Parse(txtBoxText1); myCommand.Parameters.AddWithValue(“@ S_TARIH_B”,dt_stb);}如果(txtBoxText2!=“”) {strQuery = strQuery +“AND A.ISL_TAR <= @S_TARIH_S”; dt_sts = DateTime.Parse(txtBoxText2); myCommand.Parameters.AddWithValue(“@ S_TARIH_S”,dt_sts);我如何设置它的功能? (开始,结束日期) – 2011-03-15 13:09:27

+0

由于此代码不起作用,因此此代码无效SUM(ISNULL(CAST(A.ODENEN_ANAPARA AS FLOAT),0)+ ISNULL(CAST(A.FAIZ AS FLOAT),0)+ ISNULL(CAST(A (CAST(A.GECIKME_BSMV AS FLOAT),0))+ [dbo]。[f编码](@ B。 HESAP_NO,@S_TARIH_B,@S_TARIH_S,@ B.DOVIZ_KOD)AS'YATAN' – 2011-03-15 13:11:58