Sending Column Name as a Parameter to Aggregate function
How can do this. Because my stored function contains same clause except colums name.So I want to use column name as a parameter but how can send column name and use it like Sum(parameter) function .
my procedure like this:
ALTER
PROCEDURE [dbo].[ORNEK10]@YIL
VARCHAR(4),@TEKLIF_TURU
VARCHAR(255)AS
BEGIN
DECLARE
@N1FLOATDECLARE
@N2FLOATSET
@N1=(SELECT DEGERIFROM PARAMETREWHERE PARAMETRE_ADI='N1')SET
@N2=(SELECT DEGERIFROM PARAMETREWHERE PARAMETRE_ADI='N2')SET
NOCOUNTON;--I want to avoid using if statements for Sum() function
IF
(@TEKLIF_TURU='BASKAN_TEKLIF')SELECTTOP(100)PERCENT KOD1, KOD2, KOD3, KOD4, dbo.ORNEK10AD(KOD1, KOD2, KOD3, KOD4)AS ACIKLAMA,SUM(BASKAN_TEKLIF)AS YILI,((100+@N1)*SUM(BASKAN_TEKLIF))/100AS YIL1,((100+@N1)*(100+@N2)*SUM(BASKAN_TEKLIF))/10000AS YIL2FROM GELIRAS GWHERE YIL= @YILGROUPBY KOD1, KOD2, KOD3, KOD4WITH ROLLUPORDERBY KOD1, KOD2, KOD3, KOD4IF
(@TEKLIF_TURU='ENCUMEN_TEKLIF')SELECTTOP(100)PERCENT KOD1, KOD2, KOD3, KOD4, dbo.ORNEK10AD(KOD1, KOD2, KOD3, KOD4)AS ACIKLAMA,SUM(ENCUMEN_TEKLIF)AS YILI,((100+@N1)*SUM(ENCUMEN_TEKLIF))/100AS YIL1,((100+@N1)*(100+@N2)*SUM(ENCUMEN_TEKLIF))/10000AS YIL2FROM GELIRAS GWHERE YIL= @YILGROUPBY KOD1, KOD2, KOD3, KOD4WITH ROLLUPORDERBY KOD1, KOD2, KOD3, KOD4IF
(@TEKLIF_TURU='MECLIS_TEKLIF')SELECTTOP(100)PERCENT KOD1, KOD2, KOD3, KOD4, dbo.ORNEK10AD(KOD1, KOD2, KOD3, KOD4)AS ACIKLAMA,SUM(MECLIS_TEKLIF)AS YILI,((100+@N1)*SUM(MECLIS_TEKLIF))/100AS YIL1,((100+@N1)*(100+@N2)*SUM(MECLIS_TEKLIF))/10000AS YIL2FROM GELIRAS GWHERE YIL= @YILGROUPBY KOD1, KOD2, KOD3, KOD4WITH ROLLUPORDERBY KOD1, KOD2, KOD3, KOD4END

