Получение значения дважды в SQL - PullRequest
0 голосов
/ 16 марта 2011

У меня есть SQL как это;

SELECT  B.HESAP_NO, B.TEKLIF_NO1 + '/' + B.TEKLIF_NO2 AS 'TEKLIF',B.MUS_K_ISIM,
dbo.fngcodeme(B.HESAP_NO, B.DOVIZ_KOD, B.TEKLIF_NO1 + '/' + B.TEKLIF_NO2,'11/03/2011', '11/03/2011'),
(CASE WHEN B.DOVIZ_KOD = 21 THEN 'EUR' WHEN B.DOVIZ_KOD = 2 THEN 'USD' WHEN B.DOVIZ_KOD = 1 THEN 'TL' END) AS 'KUR',
D.AVUKAT, 
(CASE WHEN D.HESAP IN (SELECT T_HESAP_NO FROM TAKIP) THEN 
(SELECT ICRA_TAR FROM TAKIP WHERE T_HESAP_NO = D.HESAP)
ELSE ' ' END) AS 'ICRA TARİHİ', 
(CASE WHEN D.HESAP IN (SELECT T_HESAP_NO FROM TAKIP) THEN 
(SELECT HACIZ_TAR FROM TAKIP WHERE T_HESAP_NO = D.HESAP)
ELSE '' END) AS 'HACİZ TARİHİ'
FROM YAZ..MARDATA.S_TEKLIF B, AVUKAT D
WHERE B.HESAP_NO = D.HESAP
AND ISNULL(dbo.fngcodeme(B.HESAP_NO, B.DOVIZ_KOD, B.TEKLIF_NO1 + '/' + B.TEKLIF_NO2,'11/03/2011', '11/03/2011'),0) > 0
GROUP BY B.HESAP_NO, B.TEKLIF_NO1 + '/' + B.TEKLIF_NO2,B.DOVIZ_KOD ,B.MUS_K_ISIM, D.AVUKAT, D.HESAP

Вот мои таблицы;

S_TEKLIF (B)    AVUKAT      TAKIP

HESAP_NO (PK)   HESAP(PK)   T_HESAP_NO (PK)
TEKLIF_NO1      MUS_K_ISIM  ICRA_TAR
TEKLIF_NO2      AVUKAT      HACIZ_TAR
MUS_K_ISIM              
DOVIZ_KOD               

А вот мои dbo.fngcodeme Функция;

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

AS
BEGIN

DECLARE @Result FLOAT

SET @Result = (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 ACIKLAMA LIKE '%' + @TEKLIF + '%'
    AND ISL_TAR >= CONVERT(DATETIME, + '' + @BAS + '',103)
    AND ISL_TAR <= CONVERT(DATETIME, + '' + @BIT + '',103)
    )

RETURN @Result

END

Мой топ SQL работает отлично, но получаю два значения с одинаковыми данными.

enter image description here

Где ошибка, которую я мог бы сделать?

С наилучшими пожеланиями,

Сонер

1 Ответ

5 голосов
/ 16 марта 2011

Это не то же самое, столбец TEKLIF отличается.Вы группируете по этому столбцу, следовательно, вы получите два результата, которые отличаются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...