2015-04-20 8 views
1

используя ниже запроса я получаюДайте данные колонки рождения в возрасте в Telerik Report

SELECT 

     [tbl_HEI_student].[Gender], 
     [tbl_HEI_student].[Date_of_Birth], 
     [tbl_HEI_student].[Programme_ID], 
     [tbl_hec_Programme].[ISCED_ID], 
     [tbl_hec_Programme].[Programme_ID] AS 'tbl_hec_ProgrammeProgramme_ID', 
     [tbl_hec_ISCED].[ISCED_ID] AS 'tbl_hec_ISCEDISCED_ID', 
     [tbl_hec_ISCED].[ISCED_Level] 

    FROM (([tbl_HEI_student] 
    FULL OUTER JOIN [tbl_hec_Programme] 
    ON [tbl_HEI_student].[Programme_ID] = [tbl_hec_Programme].[Programme_ID]) 
    FULL OUTER JOIN [tbl_hec_ISCED] 
    ON [tbl_hec_Programme].[ISCED_ID] = [tbl_hec_ISCED].[ISCED_ID]) 
    WHERE ([tbl_hec_Programme].[ISCED_ID]='5' or [tbl_hec_Programme].[ISCED_ID]='6' or [tbl_hec_Programme].[ISCED_ID]='7' or [tbl_hec_Programme].[ISCED_ID]='8') 

Этот вид отчета

Fig:1

Но я хочу, чтобы вычислить возраст и классифицировать .Но Я хочу сделать это, используя поле Date_of_Birth в вышеуказанном запросе, чтобы получить именно такой отчет

Как это сделать на уровне запроса

enter image description here

+1

Ты с помощью как MySQL, так и MS SQL Server? (Не помещайте те продукты, которые не задействованы ...) – jarlh

+0

да, вы правы, просто отредактированы! – Chathz

ответ

0

вы можете получить возраст с помощью datdiff функции, а затем группу по

select DateDiff(YEAR,'1984-04-21',getdate()) за год

select DateDiff(MONTH,'1991-01-21',getdate())/12 в течение нескольких месяцев

select DateDiff(DAY,'1984-04-21',getdate())/365 в течение нескольких дней

WITH ABC 
AS (
    SELECT DateDiff(MONTH, '1984-04-21', getdate())/12 AS AGE 
     ,'Arun' AS NAME 

    UNION ALL 

    SELECT DateDiff(MONTH, '1984-02-21', getdate())/12 AS AGE 
     ,'Gorrv' 

    UNION ALL 

    SELECT DateDiff(MONTH, '1985-05-21', getdate())/12 AS AGE 
     ,'Gorrv' 

    UNION ALL 

    SELECT DateDiff(MONTH, '1985-06-21', getdate())/12 AS AGE 
     ,'Gorrv' 

    UNION ALL 

    SELECT DateDiff(MONTH, '1985-07-21', getdate())/12 AS AGE 
     ,'Gorrv' 

    UNION ALL 

    SELECT DateDiff(MONTH, '1985-03-21', getdate())/12 AS AGE 
     ,'Gorrv' 

    UNION ALL 

    SELECT DateDiff(MONTH, '1990-01-21', getdate())/12 AS AGE 
     ,'Manu' 

    UNION ALL 

    SELECT DateDiff(MONTH, '1991-01-21', getdate())/12 AS AGE 
     ,' Rishi' 
    ) 
SELECT AGE 
    ,Count(NAME) 
FROM abc 
GROUP BY Age 
+0

спасибо за ответ, но ваш ответ варьируется в зависимости от строки за строкой, Здесь я хочу написать запрос к 'SELECT [tbl_HEI_student]. [Date_of_Birth] as Age,' part – Chathz