CREATE OR REPLACE VIEW active_student
(
    account_id,
    student_id,
    first_name,
    last_name,
    gender,
    age,
    ethnicity,
    standard_id,
    instructor_id,
    grade_id
)
AS
SELECT
    st.account_id AS account_id,
    st.student_id AS student_id,
    st.first_name AS first_name,
    st.last_name AS last_name,
    st.gender AS gender,
    (DATE_FORMAT(FROM_DAYS((TO_DAYS(NOW()) - TO_DAYS(st.date_of_birth))), '%Y') + 0) AS `DATE_FORMAT(FROM_DAYS(DATEDIFF(NOW(), date_of_birth)), '%Y') + 0`,
    st.ethnicity AS ethnicity,
    COALESCE(st.standard_id,0) AS standard_id,
    COALESCE(st.instructor_id,0) AS instructor_id,
    COALESCE((SELECT grade_id FROM standard std WHERE std.standard_id = st.standard_id),0) AS grade_id
FROM student st
JOIN account ac ON st.account_id = ac.account_id
JOIN access_code ac_co ON st.student_id = ac_co.student_id
WHERE ac.username IS NOT NULL
AND ac.username != ''
AND ac_co.status = 'ACCEPTED';