2016-04-04 27 views
0

sorgularına katılıyorumMS-Sqlstored procedure kullanarak veriyorum ve crystal report benim sp.net kullanarak gösteriyorum. bu ne yapar. 1.Get düzeni adı ve şema kodu sch_master tablodan 2.join iç 3. son olsun sermaye artı gelir bültenleri miktarını (Maks (quarter_id)) girilen için sch_releases tabloyla katılmak sch_detail tabloyla her belirli şema kodu olduğunu . İşte stored procedure sorgusu. o max alarak bunuKayıtlı yordamları kullanarak en yüksek değeri elde edin ve

ssm.SchemeName, ssm.SchemeCode, 
     (Select ISNULL(SUM(distinct ra.CapitalRelaseAmount + ra.RevenueReleaseAmount),0) from Sch_Releases ra where QuarterID=(Select MAX(QuarterID) from Sch_Releases as ra where [email protected])) AS Releases 
     FROM   
     dbo.Sch_SchemeMaster AS ssm INNER JOIN 
     dbo.Sch_SchemeDetail AS ssd ON ssd.SchemeCode = ssm.SchemeCode INNER JOIN 
     dbo.Sch_Releases AS ra ON ra.SchemeCode = ssm.SchemeCode and [email protected] 
     WHERE [email protected] 
     GROUP BY ssm.SchemeName, ssm.SchemeCode 
     HAVING (ssd.IsCompleted = 0) AND (ssd.IsDeleted = 0) 
     order by ssm.SchemeCode 

ama şanssız her şema koduna ilgili değil bütün table değerleri girdi. lütfen sorgumda yanlış olanı söyle. Teşekkür

+0

Biz tablo yapısını bilmiyorum ve ne bekliyoruz sonuç? En azından beklenen bir sonuç vermelisiniz. –

cevap

1

bu deneyin:

SELECT 
    ssm.SchemeName, 
    ssm.SchemeCode, 
    (Select ISNULL(SUM(ra.CapitalRelaseAmount + ra.RevenueReleaseAmount),0) from Sch_Releases ra where 
    ra.SchemeCode = ssd.SchemaCode AND ra.YearID = @YearId 
    AND QuarterID=(Select MAX(QuarterID) from Sch_Releases as ra2 where ra2.SchemaCode = ra.SchemaCode and [email protected]) 
    ) AS Releases 
FROM   
    dbo.Sch_SchemeMaster AS ssm INNER JOIN 
    dbo.Sch_SchemeDetail AS ssd ON ssd.SchemeCode = ssm.SchemeCode 
WHERE 
    [email protected] 
GROUP BY ssm.SchemeName, ssm.SchemeCode 
HAVING (ssd.IsCompleted = 0) AND (ssd.IsDeleted = 0) 
order by ssm.SchemeCode 
İlgili konular